我需要将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”改变的内容来做。
答案 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将无法解析它。