【发布时间】:2013-06-13 13:22:09
【问题描述】:
我想要做的是给定一个深度返回该深度的节点名称。我不关心该级别的信息,只关心元素名称。
所以给定 1 它只会返回 BookStoreInfo 和 Book
给定 2,它将只返回地址、电话、传真、书名、ISBN
<BookStore>
<BookStoreInfo>
<Address />
<Tel />
<Fax />
<BookStoreInfo>
<Book>
<BookName />
<ISBN />
<PublishDate />
</Book>
<Book>
....
</Book>
</BookStore>
这是我目前正在尝试的。当我对节点进行计数时,它返回 11,这是正确的,但是当我显示节点时,它会显示节点以及其中我不想要的所有内容
XDocument doc = XDocument.Load(doc);
var AnswersScript = doc.Document.Element("root").Nodes();
int count = 0;
foreach (var node in AnswersScript)
{
count++;
Console.WriteLine(node);
}
Console.WriteLine(count);
【问题讨论】:
-
让我们看看你到目前为止都做了什么。
-
你想用这个做什么?您真的有一个 XML 文件,其内容完全不为您所知吗?解析这样的事情可能会非常复杂。关于这种情况的一点背景,或者至少是目标,会有所帮助。
-
我拥有的 xml 可以基于我不知道的不同变量是动态的。我没有可使用的文档,也没有人知道这是如何工作的。我正在尝试创建一种方法来根据传入的参数潜在地比较不同的 xml 文件。显然也没有已知的机制来解析它。
-
这将是艰难的,如果它是现实的。 XML 本质上不是严格结构化的,所以要即时分析它,然后将其与其他东西进行比较......哇。
标签: c# xml-parsing linq-to-xml xsd