Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. Pound sign in XML

Pound sign in XML

Scheduled Pinned Locked Moved C#
questionxml
18 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    RugbyLeague
    wrote on last edited by
    #1

    I am using XDocument to build XML and writing it out using the Save method - I am having all hell on trying to get it to output a pound (£) sign. I have tried different encodings, tried using XmlWriter etc but nothing seems to work. I have spent all morning reading articles (mainly others asking the same question with not really anything in the way of a reply which works) so how do I get a pound sign into XML? Currently the easiest option appears to be contacting the treasury and asking them to move to the dollar.

    R B E 3 Replies Last reply
    0
    • R RugbyLeague

      I am using XDocument to build XML and writing it out using the Save method - I am having all hell on trying to get it to output a pound (£) sign. I have tried different encodings, tried using XmlWriter etc but nothing seems to work. I have spent all morning reading articles (mainly others asking the same question with not really anything in the way of a reply which works) so how do I get a pound sign into XML? Currently the easiest option appears to be contacting the treasury and asking them to move to the dollar.

      R Offline
      R Offline
      Reiss
      wrote on last edited by
      #2

      It's has been a while, but can you write out its unicode value of U+00A3?

      R 1 Reply Last reply
      0
      • R Reiss

        It's has been a while, but can you write out its unicode value of U+00A3?

        R Offline
        R Offline
        RugbyLeague
        wrote on last edited by
        #3

        I suppose so, do I have to check every single string built into the XML through XDocument and replace pound signs with that?

        R 1 Reply Last reply
        0
        • R RugbyLeague

          I suppose so, do I have to check every single string built into the XML through XDocument and replace pound signs with that?

          R Offline
          R Offline
          Reiss
          wrote on last edited by
          #4

          I'll see if I can find how we did it in my code base - it was a copy of years ago that I last worked on the xml generator

          R 1 Reply Last reply
          0
          • R Reiss

            I'll see if I can find how we did it in my code base - it was a copy of years ago that I last worked on the xml generator

            R Offline
            R Offline
            RugbyLeague
            wrote on last edited by
            #5

            Thanks, any help will be much appreciated

            R 1 Reply Last reply
            0
            • R RugbyLeague

              Thanks, any help will be much appreciated

              R Offline
              R Offline
              Reiss
              wrote on last edited by
              #6

              I had a dig around and couldn't find anything in particular for £ signs - so I created this quick stub and it is working as expected for me

              XmlDocument doc = new XmlDocument();

              XmlNode node = doc.CreateNode(XmlNodeType.Element, "PoundTest", "Dummy");
              node.InnerXml = "£";

              doc.AppendChild(node);

              doc.Save(@"c:\dummy.xml");

              which outputs

              £

              R 1 Reply Last reply
              0
              • R Reiss

                I had a dig around and couldn't find anything in particular for £ signs - so I created this quick stub and it is working as expected for me

                XmlDocument doc = new XmlDocument();

                XmlNode node = doc.CreateNode(XmlNodeType.Element, "PoundTest", "Dummy");
                node.InnerXml = "£";

                doc.AppendChild(node);

                doc.Save(@"c:\dummy.xml");

                which outputs

                £

                R Offline
                R Offline
                RugbyLeague
                wrote on last edited by
                #7

                Hmm, the issues I am having are in an attribute and I am using XDocument rather than XmlDocument. It's interesting yours works though

                R 1 Reply Last reply
                0
                • R RugbyLeague

                  Hmm, the issues I am having are in an attribute and I am using XDocument rather than XmlDocument. It's interesting yours works though

                  R Offline
                  R Offline
                  Reiss
                  wrote on last edited by
                  #8

                  Sorry misread the XDocument bit, just added this to my original stub and it still works though

                  XmlAttribute elem = doc.CreateAttribute("PoundAttribute");
                  elem.Value = "£";

                  node.Attributes.Append(elem);

                  to give

                  £

                  R 1 Reply Last reply
                  0
                  • R Reiss

                    Sorry misread the XDocument bit, just added this to my original stub and it still works though

                    XmlAttribute elem = doc.CreateAttribute("PoundAttribute");
                    elem.Value = "£";

                    node.Attributes.Append(elem);

                    to give

                    £

                    R Offline
                    R Offline
                    RugbyLeague
                    wrote on last edited by
                    #9

                    Thanks. Time to scrap XDocument then :)

                    R 1 Reply Last reply
                    0
                    • R RugbyLeague

                      Thanks. Time to scrap XDocument then :)

                      R Offline
                      R Offline
                      Reiss
                      wrote on last edited by
                      #10

                      Here you go

                      XDocument doc = new XDocument();

                      XElement node = new XElement("PoundTest", "");

                      XAttribute attrib = new XAttribute("PoundAttribute", "£");

                      node.Add(attrib);

                      doc.Add(node);

                      doc.Save(@"c:\dummy.xml");

                      which gives

                      R 1 Reply Last reply
                      0
                      • R Reiss

                        Here you go

                        XDocument doc = new XDocument();

                        XElement node = new XElement("PoundTest", "");

                        XAttribute attrib = new XAttribute("PoundAttribute", "£");

                        node.Add(attrib);

                        doc.Add(node);

                        doc.Save(@"c:\dummy.xml");

                        which gives

                        R Offline
                        R Offline
                        RugbyLeague
                        wrote on last edited by
                        #11

                        That works for me too. Curiouser and curiouser. Thanks for your help

                        R 1 Reply Last reply
                        0
                        • R RugbyLeague

                          I am using XDocument to build XML and writing it out using the Save method - I am having all hell on trying to get it to output a pound (£) sign. I have tried different encodings, tried using XmlWriter etc but nothing seems to work. I have spent all morning reading articles (mainly others asking the same question with not really anything in the way of a reply which works) so how do I get a pound sign into XML? Currently the easiest option appears to be contacting the treasury and asking them to move to the dollar.

                          B Offline
                          B Offline
                          BobJanova
                          wrote on last edited by
                          #12

                          It's high-bit so you need to encode it, but the XDocument should do that for you (and Reiss's answer would seem to indicate that that is already the case). The named entity is £ but that only applies in HTML, in XML you would have to use £ or set the declared document encoding to ISO-8859-1 (if there are no 2-bit characters) or UTF-8 (encoding the high bit characters appropriately) in the XML header.

                          1 Reply Last reply
                          0
                          • R RugbyLeague

                            That works for me too. Curiouser and curiouser. Thanks for your help

                            R Offline
                            R Offline
                            Reiss
                            wrote on last edited by
                            #13

                            Glad I could help - I lived just outside Garforth for 8 years and had many a good night out in Leeds :-D

                            R 2 Replies Last reply
                            0
                            • R Reiss

                              Glad I could help - I lived just outside Garforth for 8 years and had many a good night out in Leeds :-D

                              R Offline
                              R Offline
                              RugbyLeague
                              wrote on last edited by
                              #14

                              Party central is Leeds although it's a long time since I used to haunt the Phono and the Warehouse

                              1 Reply Last reply
                              0
                              • R Reiss

                                Glad I could help - I lived just outside Garforth for 8 years and had many a good night out in Leeds :-D

                                R Offline
                                R Offline
                                RugbyLeague
                                wrote on last edited by
                                #15

                                You helped to fix it. You showed the problem wasn't in XML but in the StreamReader I am using to read the data I build into XML - you have to set Encoding on the StreamReader to Encoding.Default - apparently the default isn't Encoding.Default - Bah!!!

                                B 1 Reply Last reply
                                0
                                • R RugbyLeague

                                  You helped to fix it. You showed the problem wasn't in XML but in the StreamReader I am using to read the data I build into XML - you have to set Encoding on the StreamReader to Encoding.Default - apparently the default isn't Encoding.Default - Bah!!!

                                  B Offline
                                  B Offline
                                  BobJanova
                                  wrote on last edited by
                                  #16

                                  Haha yeah I've tripped over this one a few times. The default is UTF8, I believe. Took me a while to work out that to read a Windows-ANSI file (what most of us actually have on our disks) you have to set it to Default explicitly.

                                  R 1 Reply Last reply
                                  0
                                  • B BobJanova

                                    Haha yeah I've tripped over this one a few times. The default is UTF8, I believe. Took me a while to work out that to read a Windows-ANSI file (what most of us actually have on our disks) you have to set it to Default explicitly.

                                    R Offline
                                    R Offline
                                    RugbyLeague
                                    wrote on last edited by
                                    #17

                                    The default it provides isn't default enough apparently :wtf:

                                    1 Reply Last reply
                                    0
                                    • R RugbyLeague

                                      I am using XDocument to build XML and writing it out using the Save method - I am having all hell on trying to get it to output a pound (£) sign. I have tried different encodings, tried using XmlWriter etc but nothing seems to work. I have spent all morning reading articles (mainly others asking the same question with not really anything in the way of a reply which works) so how do I get a pound sign into XML? Currently the easiest option appears to be contacting the treasury and asking them to move to the dollar.

                                      E Offline
                                      E Offline
                                      Ennis Ray Lynch Jr
                                      wrote on last edited by
                                      #18

                                      It took Google years to fix it, finally, (as of this week, they did)

                                      Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. I also do Android Programming as I find it a refreshing break from the MS. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups