0

XmlWriter を使用して次の属性をノードに追加しようとしていますが、何も機能していないようです。アイデアはありますか?

<news:news>

私は次のことを達成しようとしています:

 <url>
    <loc>http://www.example.org/business/article55.html</loc>
    <news:news>
      <news:publication>
        <news:name>The Example Times</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:access>Subscription</news:access>
      <news:genres>PressRelease, Blog</news:genres>
      <news:publication_date>2008-12-23</news:publication_date>
      <news:title>Companies A, B in Merger Talks</news:title>
      <news:keywords>business, merger, acquisition, A, B</news:keywords>
      <news:stock_tickers>NASDAQ:A, NASDAQ:B</news:stock_tickers>
    </news:news>
  </url>

ありがとう

4

2 に答える 2

1

XmlWriter で名前空間を処理する方法については、次のリンクを参照してください。

XmlWriter での名前空間の処理

WriteAttributeString メソッドを使用して名前空間宣言を手動で書き出すことができます。次に、WriteStartElement(String, String)オーバーロードを使用して、将来の要素をその名前空間に関連付けます。

writer.WriteStartElement("root");
writer.WriteAttributeString("xmlns", "x", null, "urn:1");
writer.WriteStartElement("item", "urn:1");
writer.WriteEndElement();
writer.WriteStartElement("item", "urn:1");
writer.WriteEndElement();
writer.WriteEndElement();
于 2012-11-30T15:36:37.367 に答える
0
    using System;
    using System.Xml;

    class Program
    {
        static void Main(string[] args)
        {
            XmlWriter writer = new XmlTextWriter(Console.Out);
            writer.WriteStartElement("root");
            writer.WriteAttributeString("news", "http://www.stackoverflow.com");
            writer.WriteStartElement("news:news");
            writer.WriteStartElement("news:publication");
            writer.WriteElementString("news:name", "The Example Times");
            writer.WriteElementString("news:language", "en");
            // etc
            writer.WriteEndElement();
            writer.WriteEndElement();
            writer.WriteEndElement();
            Console.ReadKey(true);
        }
    }
于 2012-11-30T15:42:50.630 に答える