2012-11-30 135 views
0

我想將下列屬性添加到使用XmlWriter的節點,但似乎沒有任何工作,有沒有人有任何想法?使用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> 

感謝

+3

這不是一個屬性 - 這是一個元素的開始。這裏你的術語需要非常精確。你能發佈一個你想要達到的完整例子嗎? –

+0

好吧,元素的開始與結尾的額外部分 – Funky

+1

你是什麼意思的「與額外的部分在結尾」?再次,一個*完整的例子真的有幫助。如果您對這個問題含糊不清,我們將無法爲您提供幫助。請閱讀http://tinyurl.com/so-list –

回答

1

看看下面的鏈接,如何使用的XmlWriter

Namespace Handling in the XmlWriter

處理命名空間

您可以手動寫出名稱空間decl使用aration的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(); 
+0

我無法看到該網頁上的任何地方或此代碼如何實現代碼 – Funky

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); 
     } 
    } 
+0

我做到了這一點,並得到以下錯誤:'news:news'中的無效名稱字符。 ':'字符,十六進制值0x3A,不能包含在名字 – Funky

+0

http://ideone.com/PfoBkZ – Denis

+0

這很好,但它不起作用,當你有在另一個節點內的項目 – Funky