更新:解决问题的更新问题是元素而不是属性,并添加了我的 XML 输出
我必须向应用程序提供一些 XML 编码的字符串(我不经常使用标记语言,并且对它们的细微差别没有很多经验)。
我需要发送的格式如下(我无法控制):
<ROOT>
<Unit UnitName="Unit XYZ">
<Scheds Qty="5" ProdId="214" Comments="" />
<Scheds Qty="200" ProdId="125" Comments="Need by 1/23" />
<Scheds Qty="5000" ProdId="3100" Comments="" />
</Unit>
<Unit UnitName="Unit ABC">
<Scheds Qty="5" ProdId="214" Comments="" />
<Scheds Qty="200" ProdId="125" Comments="Need by 1/25" />
<Scheds Qty="5000" ProdId="3100" Comments="" />
</Unit>
</ROOT>
我试图用它来写这个,XML Writer但我遇到了属性Scheds重复的问题。
你可以在下面看到我在摆弄这个WriteString方法,但我相信我需要它作为一个属性。我的代码如下:
//Top level root element
writer.WriteStartElement("ROOT");
//loop through list and determine the pu desc to create the xml element
foreach (Tuple<int, List<PLYOrder>> t in allOrders)
{
var unit = PUList.Where(x => x.PUId == t.Item1).First().PUDesc.ToString();
//Start each Unit as a new element
writer.WriteStartElement("Unit");
writer.WriteAttributeString("UnitName", unit);
foreach(PLYOrder p in t.Item2)
{
var qty = $"Qty=\"{p.Qty.ToString()}\"";
var prodId = $"ProdId=\"{p.Product.Id.ToString()}\"";
var Comments = $"Comments=\"{p.Comments}\"";
writer.WriteStartElement("Scheds", qty);
writer.WriteEndElement();
writer.WriteStartElement("Scheds", prodId);
writer.WriteEndElement();
writer.WriteStartElement("Scheds", comments);
writer.WriteEndElement();
}
writer.WriteEndElement();
}
writer.WriteEndElement();
斯蒂芬大帝
绝地无双
相关分类