【发布时间】:2013-03-19 22:36:05
【问题描述】:
我有这个 XML
<?xml version="1.0" encoding="UTF-8" ?>
<uclassify xmlns="http://api.uclassify.com/1/ResponseSchema" version="1.01">
<status success="true" statusCode="2000"/>
<readCalls>
<classify id="cls1">
<classification textCoverage="1">
<class className="female" p="0.932408"/>
<class className="male" p="0.0675915"/>
</classification>
</classify>
</readCalls>
</uclassify>
或类似的。重要的是,我没有
<tag>value</tag>
但是
<tag attribute1 attribute2 ... />.
我想输出的是例如
属性1:属性值1
所以我想输入一个像“女性”这样的词,我希望它输出 0.932408。
我尝试开始的内容
string xml = HttpGet("http://uclassify.com/browse/" + username + "/" + classifiername + "/" + operation + "?" + paramz.ToString());
XDocument doc = XDocument.Parse(xml);
var list = doc.Root.Elements("uclassify")
.Select(element => element.Value)
.ToList();
但是list总是空的,大概是因为没有值,只有属性。
编辑:
当前版本
string xml = HttpGet("http://uclassify.com/browse/" + username + "/" + classifiername + "/" + operation + "?" + paramz.ToString());
XDocument doc = XDocument.Parse(xml);
XNamespace ns = "http://api.uclassify.com/1/ResponseSchema";
var list = doc.Root.Descendants(ns + "class")
.Select(element => element.Value)
.ToList();
textBox1.Text = string.Join(",", list.ToArray());
结果是逗号。
【问题讨论】:
-
System.Xml.Linq 处理
xmlns的方式有点烦人,您没有考虑到这一点。看看这个问题:stackoverflow.com/questions/4985974/xelement-namespaces-how-to
标签: c#