我尝试使用LINQ来读取XML文件。但是,存储selected属性值的字符串始终为空。
以下是代码:
string output = "";
XDocument loaded = XDocument.Load(@"d:\input.xml");
var ta = from tmp in loaded.Descendants("NewDataSet.Table")
select tmp.Element("E1");
foreach (string ss in ta)
{
ouput += ss;
}
output
字符串始终为空。但是ss
字符串具有正确的值。
有什么问题?
我不知道如何添加带样式的xml文件。所以我必须将xml文件更新为图像。 :(
答案 0 :(得分:4)
现在您已经展示了XML,以下是修复代码的方法:
var ta = from tmp in loaded.Descendants("Table")
select tmp.Element("E1");
您不像在C#中那样使用.
来导航XML树。您还可以使用XPath导航XML树:
var ta = from tmp in loaded.XPathSelectElements("NewDataSet/Table/E1")
select tmp;
另外,我建议您为此输出变量使用StringBuilder而不是字符串连接:
var ta = from tmp in loaded.Descendants("Table")
select tmp.Element("E1");
var builder = new StringBuilder();
foreach (string ss in ta)
{
builder.Append(ss);
}
string output = builder.ToString();
答案 1 :(得分:0)
var ta = from tmp in loaded.Descendants("Table")
select tmp.Element("E1");