我怎么能提取一个XML文档的XML块? [英] how can I extract an XML block from an XML document?

查看:168
本文介绍了我怎么能提取一个XML文档的XML块?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从一个更大的XML文档中提取XML的一大块。 例如,我的XML文档看起来像这样

 < XML版本=1.0编码=UTF-8&GT?;
<根和GT;
<集装箱>
    < FIRSTNODE>
        < CHILDNODE>
        < / CHILDNODE>
    < / FIRSTNODE>
< /容器>
< /根>
 

如果我想提取任何部分。例如,我希望提取包含在其中的属性标签和值的一切,我应该怎么做这在C#?

我试图用这个code,但它似乎并没有做的伎俩。

  XmlDocument的XDOC =新的XmlDocument();
    xdoc.LoadXml(inputXML);
    Console.WriteLine(inputXML);
    字符串斯特劳特=;

    XmlNode的节点= xdoc.DocumentElement.ParentNode;
    XmlNodeList中节点列表= node.ChildNodes;
    对于(INT N = 0; N< nodeList.Count; N ++)
    {
        Console.WriteLine(节点列表[N] .Name点);
        如果(节点列表[N] .Name点==FIRSTNODE)
        {
            斯特劳特=节点列表[N] .OuterXml.ToString();
            Console.WriteLine(strOut.Length.ToString());
            返回斯特劳特;
        }
    }
 

解决方案

你有没有尝试过的SelectSingleNode?

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

有一个外观的XPath

希望这有助于...

PS:很抱歉,但我是新来的,不知道编辑器...

I want to extract a chunk of XML from a larger XML document. For example, my XML document looks like this

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

If I wish to extract any portion. For example, I wish to extract everything contained within including attribute tags and values, how should I do this in C#?

I tried using this code, but it doesn't seem to be doing the trick.

     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;
        }
    }

解决方案

Have you tried with SelectSingleNode?

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

Have a look for XPath

Hope this helps ...

PS: Sorry but I'm new here and don't know the editor ...

这篇关于我怎么能提取一个XML文档的XML块?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆