【发布时间】:2018-08-06 02:27:15
【问题描述】:
我有这个代码:
private XElement buildTemplateOrderXML(List<TemplateOrderLines> templateOrderLines, String sessionId, XNamespace ns1)
{
//build the xml objects and return them
return new XElement(ns1 + "TemplateParameters",
templateOrderLines.Select(item =>
new XElement(ns1 + "TemplateOrderLines",
new XElement(ns1 + "TemplatePartDesc", item.TemplatePartDesc),
new XElement(ns1 + "TemplatePartSKU", item.TemplatePartSKU),
new XElement(ns1 + "TemplateQuantity", item.TemplateQuantity)
)
)
);
}
这会产生这样的 XML。
<ns1:TemplateParameters>
<ns1:TemplateOrderLines>
<ns1:TemplatePartDesc/>
<ns1:TemplatePartSKU>NSD-CH02</ns1:TemplatePartSKU>
<ns1:TemplateQuantity>2</ns1:TemplateQuantity>
</ns1:TemplateOrderLines>
<ns1:TemplateOrderLines>
<ns1:TemplatePartDesc/>
<ns1:TemplatePartSKU>NSD-TK02</ns1:TemplatePartSKU>
<ns1:TemplateQuantity>1</ns1:TemplateQuantity>
</ns1:TemplateOrderLines>
</ns1:TemplateParameters>
我想要的是这个:
<TemplateParameters>
<TemplateOrderLines>
<item0>
<TemplatePartDesc/>
<TemplatePartSKU>NSC-CH02</TemplatePartSKU>
<TemplateQuantity>5</TemplateQuantity>
</item0>
<item1>
<TemplatePartDesc/>
<TemplatePartSKU>NSC-TK02</TemplatePartSKU>
<TemplateQuantity>5</TemplateQuantity>
</item1>
</TemplateOrderLines>
</TemplateParameters>
如何修改我的代码以生成 <item0> <item1> 部分?
附:我知道<ns1:TemplateOrderLines> 重复。我知道如何解决这个问题,所以我现在不担心那一点。
【问题讨论】:
-
到目前为止你有什么努力吗?
-
我用谷歌搜索但没有找到答案。我想我没有使用正确的搜索。如果您对我应该搜索的内容有任何想法,那也会有所帮助。
-
此类 XML:
item{N}- 难以解析和处理。不要使用它!在极端情况下,添加Id或Index属性。