代码之家  ›  专栏  ›  技术社区  ›  wizzardz Nikhil

在C语言中将字符串转换为XmlNode的更好方法#

  •  41
  • wizzardz Nikhil  · 技术社区  · 14 年前


    我想将字符串(显然是xml)转换为C中的XmlNode。在搜索网络时,我得到了这段代码。我想知道这是否是将字符串转换为XmlNode的好方法?我必须在一个循环中执行此转换,那么它是否会导致任何性能问题?

            XmlTextReader textReader = new XmlTextReader(new StringReader(xmlContent));
            XmlDocument myXmlDocument = new XmlDocument();
            XmlNode newNode = myXmlDocument.ReadNode(textReader);
    

    请回复,

    谢谢
    亚历克斯

    3 回复  |  直到 14 年前
        1
  •  98
  •   BrokenGlass    14 年前

    应该直截了当:

            string xmlContent = "<foo></foo>";
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xmlContent);
            XmlNode newNode = doc.DocumentElement;
    

    如果可以的话,也可以选择使用LINQ:

            XElement newNode  = XDocument.Parse(xmlContent).Root;
    
        2
  •  1
  •   Evžen Černý    6 年前

    string xmlContent = "<foo></foo><bar></bar>"; (例外:“有多个根元素”);

    要加载多个元素,请使用以下命令:

    string xmlContent = "<foo></foo><bar></bar>";
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<singleroot>"+xmlContent+"</singleroot>");
    XmlNode newNode = SelectSingleNode("/singleroot");
    
        3
  •  -4
  •   Soner Gönül to StackOverflow    10 年前
    XmlDocument Doc = new XmlDocument();
    Doc.LoadXml(xml);