2014-11-03 104 views
0

我想問一些關於XML文件的問題。 我在Visual Studio 2010,.NET Framework 4中創建了windows phone應用程序的silverlight。我從互聯網上獲取解析其值的XML文件,以檢查用戶名是否存在。 XML文件是:在windows phone上寫xml silverlight 7

<?xml version="1.0" encoding="utf-8"?> 
<rss version='2.0'> 
<channel> 
    <item> 
     <username>name1</username> 
     <score>0</score> 
    </item> 
    <item> 
     <username>name2</username> 
     <score>0</score> 
    </item> 
</channel> 
</rss> 

,並調用一個函數(如用戶名不存在)是:

public void AddUser()//Stream stream) 
     { 
      string stream = "http://localhost:8080/scores.xml"; 
      var builder = new StringBuilder(); 
      //add user to xml 
      //XmlWriterSettings settings = new XmlWriterSettings(); 
      var settings = new XmlWriterSettings { OmitXmlDeclaration = true }; 
      using (var SourceStream = XmlWriter.Create(builder, settings)) 
      { 
       //settings.Async = true; 
       XmlWriter writer = XmlWriter.Create(SourceStream); 
       writer.WriteStartElement(stream); 
       writer.WriteStartElement("channel"); 
       writer.WriteStartElement("item"); 
       writer.WriteElementString("username", IsolatedStorageSettings.ApplicationSettings["username"].ToString()); 
       writer.WriteElementString("score", "0"); 
       writer.WriteEndElement(); 
       writer.WriteEndElement();  
      } 
     } 

所以,我要做的是在這個XML文件中添加新成員。例如:

<item> 
<username>name3</username> 
<score>0</score> 
</item> 

而且,如果我運行此代碼,我得到一個錯誤,指出消息:

"Invalid name character in 'http://localhost:8080/scores.xml'. The ':' character, hexadecimal value 0x3A, cannot be included in a name" 

我不知道如何處理此錯誤,請,如果這是唯一的錯誤......我不確定我是否明白XML是如何在這裏工作的,任何人都可以給我一些提示或指導來做到這一點?

在此先感謝!

回答

0

你的錯誤是在

writer.WriteStartElement(stream); 

飼料的URI不是有效的元素名稱,我想你的意思是寫

writer.WriteStartElement("rss"); 

而且,我發現很容易只使用Linq到xml,更容易操作,但這只是我的偏好。

+0

我將流更改爲「rss」,但在我的XML文件中沒有發生任何事情。我的XML文件將被存儲到服務器。閱讀文件,編輯並存儲回服務器!現在我正在使用xampp在本地使用xampp來測試它。我是否應該通過執行「rss」來查看一些更改? – 2014-11-03 15:08:56

+0

我認爲你需要重新考慮你的方法。如果我沒有弄錯,你希望從遠程位置加載一個XML文件,添加到XML文件,然後將文件保存到同一個遠程位置? – FunksMaName 2014-11-03 15:19:38

+0

是的,沒錯!我加載xml文件以查看用戶名是否已被使用。如果沒有,我想添加到xml文件並將文件保存到同一個remore位置!謝謝 !!! – 2014-11-03 15:31:16