1

我需要将 XML 文件的特定部分转换为字符串,其中的数据会有所不同。例如。

我有一个包含此部分的 xml 文件: -<root>-<Data><1>data</1>

我只想将该行转换为字符串,而不是整个文件。这个,我知道怎么做。我的问题是“1”中的数据会根据情况而变化,我仍然希望能够使用相同的程序来转换它,而不管“1”中的数据读取什么。

在没有数据的情况下读取“1”行,我知道我可以使用:

 var xml = "<root><Data><1>data</1></Data></root>";   
var xmlString = XElement.Parse(xml).Descendants("1").FirstOrDefault().Value;

但我不知道如何改变“1”的内容。

4

1 回答 1

1
var xml = "<root><Data><One>data</One></Data></root>";

var xmlString = (from data in XElement.Parse(xml).Descendants("Data")
                 where data.Descendants().Any()
                 select data.Descendants().First().Value).FirstOrDefault();

旁注:有一个名称以数字开头的 XML 元素被认为是无效的 XML,因此,XElement 将无法解析它。

于 2012-05-21T03:33:50.700 回答