【问题标题】:How to convert string to XML using C#如何使用 C# 将字符串转换为 XML
【发布时间】:2012-06-08 10:10:23
【问题描述】:

全局变量m_xDoc

我有一个属性

public XmlDocument xDoc
{
    get {return m_xDoc; }
    set {value = m_xDoc; }           
} 

string xml = "<head><body><Inner> welcome </head></Inner><Outer> Bye</Outer></body></head>"

现在我必须将此字符串设置为 XML 文档的属性...请指导我如何做到这一点

【问题讨论】:

    标签: c# xml


    【解决方案1】:

    使用XmlDocument的LoadXml方法;

    string xml = "<head><body><Inner> welcome </head> </Inner> <Outer> Bye</Outer></body></head>";
    xDoc.LoadXml(xml);
    

    【讨论】:

    • 你能看看我的question吗?
    • 简单又好用!谢谢
    【解决方案2】:
    // using System.Xml;
    
    String rawXml =
          @"<root>
              <person firstname=""Riley"" lastname=""Scott"" />
              <person firstname=""Thomas"" lastname=""Scott"" />
          </root>";
    
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.LoadXml(rawXml);
    

    我认为这应该可行。

    【讨论】:

    • 请注意,您需要转义引号以编译该代码,使用双引号 ("") 转义它们。 &lt;person firstname=""Riley"" lastname=""Scott"" /&gt;
    • 你说得对。我忘记了字符串中的双引号。更正了。
    【解决方案3】:
    string test = "<body><head>test header</head></body>";
    
    XmlDocument xmltest = new XmlDocument();
    xmltest.LoadXml(test);
    
    XmlNodeList elemlist = xmltest.GetElementsByTagName("head");
    
    string result = elemlist[0].InnerXml; 
    
    //result -> "test header"
    

    【讨论】:

    • 如果这个测试头有一些特殊字符比如 怎么办?
    【解决方案4】:
    xDoc.LoadXML("<head><body><Inner> welcome </head> </Inner> <Outer> Bye</Outer>                    
                        </body></head>");
    

    【讨论】:

      猜你喜欢
      • 2015-05-08
      • 2011-09-03
      • 1970-01-01
      • 2015-01-22
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      • 2011-01-10
      相关资源
      最近更新 更多