2009-05-28 58 views
1

如何獲得此輸出?輸出具有屬性的xml

<MSRP currency="USD">10.00</MSRP> 

writer.WriteElementString( 「MSRP」,Convert.ToString(q.ItemPrice1));

writer.WriteAttributeString(「currency」,「MSRP」,「USD」);

這是錯誤:

令牌StartAttribute狀態的內容會導致一個無效的XML文件內。

回答

5
writer.WriteStartElement("MSRP"); 
writer.WriteAttributeString("currency", "USD"); 
writer.WriteString(q.ItemPrice1.ToString()); 
writer.WriteEndElement(); 

當您調用WriteElementString時,它會一次寫入整個元素 - 沒有機會稍後添加屬性。你必須用WriteStartElement打開元素,然後用WriteEndElement關閉它。

+1

我會去了解一下,也許使用XmlConvert類的ItemPrice1轉換爲數字的XML標準的字符串表示(除非你想在小數位的數量控制;「10.00」將被轉換爲10)。 – 2009-05-28 22:31:28

+0

q.ItemPrice1.ToString();不工作...必須使用Convert.ToString(q.ItemPrice1); – 2009-05-29 06:01:39

2

我相信這會做到這一點。

writer.WriteStartElement("MSRP"); 
writer.WriteAttributeString("currency", "USD"); 
writer.WriteValue("10.00"); 
writer.WriteEndElement(); 

documentation at msdn