2 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個贊
看起來您使用WriteStartElement不正確。第二個參數(shù)不是屬性,而是命名空間 URI。這是一個簡單的例子
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = true;
XmlWriter writer = XmlWriter.Create(Console.Out, settings);
writer.WriteStartElement("ROOT");
writer.WriteStartElement("Unit");
writer.WriteAttributeString("UnitName", "Unit XYZ");
writer.WriteEndElement();
writer.WriteStartElement("Scheds");
writer.WriteAttributeString("Qty", "5");
writer.WriteAttributeString("ProdId", "214");
writer.WriteAttributeString("Comments", "Need by 1/25");
writer.WriteEndElement();
// Write the close tag for the root element.
writer.WriteEndElement();
writer.Close();
這會產(chǎn)生以下輸出:
<ROOT>
<Unit UnitName="Unit XYZ" />
<Scheds Qty="5" ProdId="214" Comments="Need by 1/25" />
</ROOT>
因此,從您的示例來看,它將是:
foreach(PLYOrder p in t.Item2)
{
writer.WriteStartElement("Scheds");
writer.WriteAttributeString("Qty", p.Qty.ToString());
writer.WriteAttributeString("ProdId", p.Product.Id.ToString());
writer.WriteAttributeString("Comments", p.Comments);
writer.WriteEndElement();
}

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個贊
XML 中不能有重復(fù)的屬性。
您在示例輸出中沒有重復(fù)的屬性,您有重復(fù)的元素,這是允許的。將元素的開頭寫在Scheds
元素處理的開頭和WriteEndElement()
結(jié)尾,你應(yīng)該沒問題。
- 2 回答
- 0 關(guān)注
- 91 瀏覽
添加回答
舉報