将XML中的特定变量转换为字符串C#

时间:2012-05-21 02:33:54

标签: c# xml string

我需要将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”改变的内容来做。

1 个答案:

答案 0 :(得分: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将无法解析它。