この出力を取得するにはどうすればよいですか?
<MSRP currency="USD">10.00</MSRP>
writer.WriteElementString("MSRP", Convert.ToString(q.ItemPrice1));
writer.WriteAttributeString("通貨", "MSRP", "USD");
これはエラーです:
状態 Content のトークン StartAttribute は、無効な XML ドキュメントになります。
writer.WriteStartElement( "MSRP" );
writer.WriteAttributeString( "currency", "USD" );
writer.WriteString( q.ItemPrice1.ToString() );
writer.WriteEndElement();
WriteElementString を呼び出すと、要素全体が一度に書き込まれます。後で属性を追加する機会はありません。WriteStartElement で要素を開いてから、WriteEndElement で閉じる必要があります。
これでうまくいくと思います。
writer.WriteStartElement("MSRP");
writer.WriteAttributeString("currency", "USD");
writer.WriteValue("10.00");
writer.WriteEndElement();
msdnのドキュメントを参照してください。