繁体   English   中英

如何从XML文档提取XML块?

[英]how can I extract an XML block from an XML document?

我想从一个较大的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;
        }
    }

您是否尝试过使用SelectSingleNode?

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

看看XPath

希望这可以帮助 ...

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

XEelement root = xml document;
XElement first = root.Element("Root").Element("Container").Element("FirstNode");

沿着这条线,您可能必须调整Element调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM