2011-12-12 103 views
0

如何用此字符串编写.xml文件?用字符串编写XML

字符串:

string string1 = textbox1.text; 
string string2 = textbox2.text; 
string string3 = textbox3.text; 
string string4 = textbox4.text; 

xml文件的结果:

<?xml version="1.0" encoding="utf-8" ?> 
     <books> 
      <book Title="Pure JavaScript" Price=string1/> 
      <book Title="Effective C++" Price=string2/> 
      <book Title="Assembly Language: Step-By-Step" Price=string3/> 
      <book Title="Oracle PL/SQL Best Practices" Price=string4/> 
     </books> 
+0

您的代码示例中有8个不同的字符串,并且由于默认命名,我们不知道每个字符的含义。很难看出这些应该如何与您的XML相匹配。 – Oded

+0

XML也是无效的,因为'Price'属性没有引用值。 – Oded

回答

3

您可以使用Linq to XML来做到这一点。假设你有一个类Book

class Book 
{ 
    public string Title { get; set; } 
    public decimal Price { get; set; } 
} 

现在你要投入到XML文档的书籍列表:

List<Book> books = new List<Book>(); 
books.Add(new Book() { Title = "Pure JavaScript", Price = 59.0M}); 

XDocument xdoc = new XDocument(new XElement("books", books.Select(x=> new XElement("book", 
           new XAttribute("Title", x.Title), 
           new XAttribute("Price", x.Price))))); 

现在,你可以保存这个XDocument

xdoc.Save("text.xml"); 

这产生:

<books> 
    <book Title="Pure JavaScript" Price="59.0" /> 
</books> 
+0

用于打字比我快(相同的概念和代码)+1。 – 2011-12-12 19:24:47

+0

非常感谢!完美 – jolly

+0

不好意思,但是为了创建一个? – jolly

0

退房System.Xml命名空间。特别的XmlDocument和XmlNode的

而且XML文本(我知道VB有他们,不知道C#)

+1

C#没有XML文字。 – Oded

+0

@Oded:谢谢。 –

0

看看这些关键字:

  1. XmlWriter
  2. XDocument
  3. XmlDocument
  4. 序列化

我觉得,在你的情况下XmlWriter是最好的选择。

+0

-1用于推荐'XmlTextWriter',它不应该直接使用。 –

+0

@JohnSaunders,好吧,'XmlWriter'。我在哪里推荐直接使用它? –

+0

你提到它。为什么要在要使用的东西列表中提到它? –