【发布时间】:2020-01-07 09:08:11
【问题描述】:
我在一个 XML 示例中有以下内容:
<custreply>
<customer cid="1234">
<ack id="6000" error="false">
<info>
<custgroup>A</custgroup>
<message>cust created</message>
</info>
<info>
<custgroup>A</custgroup>
<message>cust setup created</message>
</info>
</ack>
</customer>
<customer cid="5678">
<ack id="7000" error="true">
<error>
<class>B</class>
<message>over the limit</message>
</error>
</ack>
</customer>
</custreply>
然后我有 XDocument 和 Linq,它们适用于以下两个值,我需要 ack id 和 ack error:
XDocument CustResponse = XDocument.Load('path');
var custAck = from c in CustResponse.Root.DescendantsAndSelf("ack")
select new { CustId = c.Attribute("id").Value, Error = c.Attribute("error").Value
};
我还需要选择一个 ErrorMessage,如果 error="true" 为“message”元素值,则对于上述 XML 中显示的错误。我怎么能得到那个?如果可能的话,我也会接收错误错误消息,如果可能更容易的话,只是第一个信息中的第一个消息元素,但我主要需要结果中的错误元素消息,并不真正需要错误错误的消息。
谢谢大家
【问题讨论】: