Heim Backend-Entwicklung C#.Net-Tutorial Generieren Sie dynamisch XML-Dateien mit Buchinformationen über C#

Generieren Sie dynamisch XML-Dateien mit Buchinformationen über C#

Jan 19, 2017 am 11:02 AM

Generieren Sie dynamisch eine XML-Datei mit Buchinformationen (Books.xml) über C#. Die Datei lautet wie folgt:

<?xml version="1.0" encoding="iso-8859-1"?>   
<bookstore>   
  
<book id="1" category="CHILDREN">   
<title>Harry Potter</title>   
<author>J K. Rowling</author>   
<publishDate>2005-08-15</publishDate>   
<price>29.99</price>   
</book>   
  
<book id="2" category="WEB">   
<title>Learning XML</title>   
<author>Erik T. Ray</author>   
<publishDate>2003-10-18</publishDate>   
<price>39.95</price>   
</book>   
  
</bookstore>
Nach dem Login kopieren

Methode 1: Verwenden Sie StringBuilder, um XML zu verbinden

/// <summary> 
/// 创建图书信息XML 
/// </summary> 
public void CreateBookXML(string fileName) 
{ 
StringBuilder xmlResult = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); 
List<BookInfo> bookList = GetBookList(); //获取图书列表 
if (bookList != null && bookList.Count > 0) 
{ 
xmlResult.Append("<bookstore>"); 
foreach (BookInfo book in bookList) 
{ 
xmlResult.AppendFormat("<book id=\"{0}\" category=\"{1}\">", book.BookId, book.Category); 
xmlResult.AppendFormat("<title>{0}</title>", book.Title); 
xmlResult.AppendFormat("<author>{0}</author>", book.Author); 
xmlResult.AppendFormat("<publishDate>{0}</publishDate>", book.PublishDate.ToString("yyyy-MM-dd")); 
xmlResult.AppendFormat("<price>{0}</price>", book.Price); 
xmlResult.Append("</book>"); 
} 
xmlResult.Append("</bookstore>"); 
} 

//写入文件 
try 
{ 
//1.创建文件流 
FileStream fileStream = new FileStream(fileName, FileMode.Create); 
//2.创建写入器 
StreamWriter streamWriter = new StreamWriter(fileStream); 
//3.将内容写入文件 
streamWriter.WriteLine(xmlResult); 
//4.关闭写入器 
streamWriter.Close(); 
//5.关闭文件流 
fileStream.Close(); 
} 
catch (Exception e) 
{ } 
}
Nach dem Login kopieren

Methode 2: XML mit der XmlTextWriter-Klasse erstellen

/// <summary> 
/// 创建图书信息XML 
/// </summary> 
/// <param name="fileName"></param> 
public void CreateBookXML(string fileName) 
{ 
try 
{ 
FileStream fileStream = new FileStream(fileName, FileMode.Create); 
XmlTextWriter writer = new XmlTextWriter(fileStream, Encoding.UTF8); 
List<BookInfo> bookList = GetBookList(); //获取图书列表 
if (bookList != null && bookList.Count > 0) 
{ 
writer.WriteStartDocument(); 
writer.WriteStartElement("bookstore"); //创建父节点 
foreach (BookInfo book in bookList) 
{ 
writer.WriteStartElement("book"); //创建子节点 
writer.WriteAttributeString("id", book.BookId.ToString()); //添加属性 
writer.WriteAttributeString("category", book.Category); 
//图书名称节点 
writer.WriteStartElement("title"); 
writer.WriteValue(book.Title); //节点赋值 
writer.WriteEndElement(); 
//图书作者节点 
writer.WriteStartElement("author"); 
writer.WriteValue(book.Author); 
writer.WriteEndElement(); 
//出版时间节点 
writer.WriteStartElement("publishDate"); 
writer.WriteValue(book.PublishDate.ToString("yyyy-MM-dd")); 
writer.WriteEndElement(); 
//销售价格节点 
writer.WriteStartElement("price"); 
writer.WriteValue(book.Price); 
writer.WriteEndElement(); 

writer.WriteEndElement(); //子节点结束 
} 
writer.WriteEndElement(); //父节点结束 
} 
writer.WriteEndDocument(); 
writer.Close(); 
fileStream.Close(); 
} 
catch (Exception e) 
{ } 
}
Nach dem Login kopieren


WriteStartDocument()-Methode: XML-Deklaration schreiben.
WriteEndDocument()-Methode: Schließt alle offenen Elemente oder Attribute und setzt den Writer auf den Startstatus zurück.
WriteStartElement(string localName)-Methode: Erstellt den Anfang eines Knotens.
WriteAttributeString(string localName, string value) Methode: Attribute zu Knoten hinzufügen.
WriteValue(value)-Methode: Weisen Sie dem Knoten einen Wert zu.

3. Andere Codes

3.1 Buchliste abrufen

/// <summary>   
/// 获取图书列表   
/// </summary>   
/// <returns></returns>   
public List<BookInfo> GetBookList()   
{   
List<BookInfo> bookList = new List<BookInfo>();   
BookInfo book1 = new BookInfo() {   
BookId = 1,   
Category = "CHILDREN",   
Title = "Harry Potter",   
Author = "J K. Rowling",   
PublishDate = new DateTime(2005,08,15),   
Price = 29.99   
};   
bookList.Add(book1);   
BookInfo book2 = new BookInfo()   
{   
BookId = 2,   
Category = "WEB",   
Title = "Learning XML",   
Author = "Erik T. Ray",   
PublishDate = new DateTime(2003,10,18),   
Price = 39.95   
};   
bookList.Add(book2);   
return bookList;   
}
Nach dem Login kopieren

3.2 Buchinformations-Entitätsklasse

/// <summary>   
/// 图书信息实体类   
/// </summary>   
public class BookInfo   
{   
public int BookId { set; get; } //图书ID   
public string Title { set; get; } //图书名称   
public string Category { set; get; } //图书分类   
public string Author { set; get; } //图书作者   
public DateTime PublishDate { set; get; } //出版时间   
public Double Price { set; get; } //销售价格   
}
Nach dem Login kopieren

Das Obige ist über C# Generieren Sie dynamisch den Inhalt der Buchinformations-XML-Datei. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1663
14
PHP-Tutorial
1264
29
C#-Tutorial
1237
24
Active Directory mit C# Active Directory mit C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Active Directory mit C#. Hier besprechen wir die Einführung und die Funktionsweise von Active Directory in C# sowie die Syntax und das Beispiel.

Zufallszahlengenerator in C# Zufallszahlengenerator in C# Sep 03, 2024 pm 03:34 PM

Leitfaden zum Zufallszahlengenerator in C#. Hier besprechen wir die Funktionsweise des Zufallszahlengenerators, das Konzept von Pseudozufallszahlen und sicheren Zahlen.

C#-Datenrasteransicht C#-Datenrasteransicht Sep 03, 2024 pm 03:32 PM

Leitfaden zur C#-Datenrasteransicht. Hier diskutieren wir die Beispiele, wie eine Datenrasteransicht aus der SQL-Datenbank oder einer Excel-Datei geladen und exportiert werden kann.

Fakultät in C# Fakultät in C# Sep 03, 2024 pm 03:34 PM

Leitfaden zur Fakultät in C#. Hier diskutieren wir die Einführung in die Fakultät in C# zusammen mit verschiedenen Beispielen und Code-Implementierungen.

Der Unterschied zwischen Multithreading und asynchronem C# Der Unterschied zwischen Multithreading und asynchronem C# Apr 03, 2025 pm 02:57 PM

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

Muster in C# Muster in C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Mustern in C#. Hier besprechen wir die Einführung und die drei wichtigsten Arten von Mustern in C# zusammen mit ihren Beispielen und der Code-Implementierung.

Primzahlen in C# Primzahlen in C# Sep 03, 2024 pm 03:35 PM

Leitfaden zu Primzahlen in C#. Hier besprechen wir die Einführung und Beispiele von Primzahlen in C# sowie die Codeimplementierung.

So ändern Sie das Format von XML So ändern Sie das Format von XML Apr 03, 2025 am 08:42 AM

Es gibt verschiedene Möglichkeiten, XML -Formate zu ändern: manuell mit einem Texteditor wie Notepad bearbeiten; automatisch Formatierung mit Online- oder Desktop -XML -Formatierungswerkzeugen wie XMLBeautifier; Definieren Sie Conversion -Regeln mithilfe von XML -Conversion -Tools wie XSLT; oder analysieren und mit Verwendung von Programmiersprachen wie Python arbeiten. Seien Sie vorsichtig, wenn Sie die Originaldateien ändern und sichern.

See all articles