【发布时间】:2015-12-14 05:27:31
【问题描述】:
我有这个 XML。我想通过 order-no="00070853" 找到第一个/提取第一个 在 C# 中并稍后与其他文件中的相同 xml 组合,所以它是 相同的架构。我试过(只是为了提取,但知道如何组合也很好)
IEnumerable<XElement> orderXml = from el in xdoc.Descendants(ns + "order")
where (string)el.Attribute(ns + "order-no").Value == badOrder
select el;
下面是示例 xml(它也有我想要的架构)
<?xml version="1.0" encoding="UTF-8"?>
<orders xmlns="http://www.bla.com/xml/impex/order/2006-10-31">
<order order-no="00070853">
<order-date>2015-12-10T21:58:26.000Z</order-date>
<created-by>storefront</created-by>
<taxation>net</taxation>
<invoice-no>55023028</invoice-no>
<customer>
<customer-no>10028489</customer-no>
</customer>
<status>
<order-status>NEW</order-status>
<shipping-status>NOT_SHIPPED</shipping-status>
<confirmation-status>CONFIRMED</confirmation-status>
<payment-status>NOT_PAID</payment-status>
</status>
</order>
<order order-no="10020785">
<order-date>2015-12-10T21:58:04.000Z</order-date>
<created-by>storefront</created-by>
<taxation>net</taxation>
<invoice-no>12022832</invoice-no>
<customer>
<customer-no>10027992</customer-no>
</customer>
<status>
<order-status>NEW</order-status>
<shipping-status>NOT_SHIPPED</shipping-status>
<confirmation-status>CONFIRMED</confirmation-status>
<payment-status>NOT_PAID</payment-status>
</status>
</order>
</orders>
【问题讨论】:
-
你的问题不清楚。您想将过滤后的节点添加到另一个 XML 吗?
-
@DenisL 你的代码有什么问题?
-
我正在浏览数百个包含上述格式的 XML 的文件。 (简化)。一些订单失败了,所以我想从不同的 xml 文件中提取那些
节点(加上下面的所有内容),并使用相同的模式将它们组合成 1 个 XML 文件。