【问题标题】:how can I extract an XML block from an XML document?如何从 XML 文档中提取 XML 块?
【发布时间】:2010-06-22 13:06:08
【问题描述】:

我想从一个较大的 XML 文档中提取一段 XML。 例如,我的 XML 文档如下所示

    <?xml version="1.0" encoding="utf-8"?>
<Root>
<CONTAINER>
    <FIRSTNODE>
        <CHILDNODE>
        </CHILDNODE>
    </FIRSTNODE>
</CONTAINER>
</Root>

如果我想提取任何部分。例如,我希望提取其中包含的所有内容,包括属性标签和值,我应该如何在 C# 中执行此操作?

我尝试使用此代码,但似乎没有奏效。

     XmlDocument xdoc = new XmlDocument();
    xdoc.LoadXml(inputXML);
    Console.WriteLine(inputXML);
    string strOut = "";

    XmlNode node = xdoc.DocumentElement.ParentNode;
    XmlNodeList nodeList = node.ChildNodes;
    for (int n = 0; n < nodeList.Count; n++)
    {
        Console.WriteLine(nodeList[n].Name);
        if (nodeList[n].Name == "FIRSTNODE")
        {
            strOut = nodeList[n].OuterXml.ToString();
            Console.WriteLine(strOut.Length.ToString());
            return strOut;
        }
    }

【问题讨论】:

    标签: c# .net xml


    【解决方案1】:

    您尝试过 SelectSingleNode 吗?

    XmlNode n = xdoc.SelectSingleNode("//FIRSTNODE");    
    Console.WriteLine(n.OuterXml);
    

    看看 XPath

    希望这会有所帮助......

    PS:对不起,我是新来的,不认识编辑...

    【讨论】:

      【解决方案2】:
      XEelement root = xml document;
      XElement first = root.Element("Root").Element("Container").Element("FirstNode");
      

      沿着这条线,您可能需要调整元素调用。

      【讨论】:

        猜你喜欢
        • 2013-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-24
        • 2012-09-30
        • 2012-10-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多