0
我有以下XML「榜樣」選擇屬性值,其中另一個屬性等於特定的字符串值
<methods>
<method name="listcust" >
<objects>
<object name="ExampleTest" type="" version="">
<properties>
<property name="FirstName" type="text">
<mappings>
<mapping type="property">
<property name="fn" />
</mapping>
</mappings>
</property>
<property name="LastName" type="text">
<mappings>
<mapping type="property">
<property name="ln" />
</mapping>
</mappings>
</property>
<property name="BirthDate" type="datetime">
<mappings>
<mapping type="property">
<property name="bd" />
</mapping>
</mappings>
</property>
</properties>
</object>
</objects>
</method>
</methods>
和我試着去選擇的「名稱」屬性附加傷害值說
<property name="LastName" type="text">
當該元素內的屬性的「名稱」 等於「ln」時<property name="ln" />
我嘗試以下
var query = from p in xdoc.Descendants("property")
where p.Descendants("property").Attributes("name").Contains(new XAttribute("name", "ln"))
select p.Attribute("name").Value;
var res = query.ToList<string>();
,但我得到任何結果回來。
如果我打破它一步一步
XDocument xdoc = XDocument.Parse(xml);
var props = xdoc.Descendants("property").Descendants("property");
var nameAtt = props.Attributes("name");
var contains = nameAtt.Contains(new XAttribute("name", "ln"));
然後,我可以看到nameAtt包含的屬性包括<property name="ln" />
之一,但的列表包含布爾仍然是假
如果任何人都可以指出正確的方式做select \ where或perharps甚至是一個完全不同的更有效的方式來檢索一個屬性值,其中它的子節點屬性值等於一個在
感謝
通過
THX的任何元素,做了訣竅.. – Domitius 2015-02-23 12:43:18