0
我有一個任務要做。我需要將xml轉換爲html文件。我檢查標籤,然後用基於xml文件的標籤編寫html文件。 就像我發現<BookHeader>
我在html文件中寫入<h1>
。將xml文件轉換爲html
我有此
XML
<BookHeader>
<AuthorGroup>
<Author >
<AuthorName >
<GivenName>Juanita</GivenName>
<FamilyName>Gomez</FamilyName>
</AuthorName>
<Contact>
<Email>[email protected]</Email>
</Contact>
</Author>
</AuthorGroup>
</BookHeader>
<ChapterInfo >
<ChapterID>1</ChapterID>
<ChapterNumber>Chapter 1</ChapterNumber>
<ChapterTitle Language="En">Just some Title</ChapterTitle>
<ChapterHistory>
<RegistrationDate>
<Year>2020</Year>
<Month>8</Month>
<Day>18</Day>
</RegistrationDate>
</ChapterHistory>
</ChapterInfo>
的佈局我有這樣的代碼在c#
我讀取xml元件一個接一個。到目前爲止,下面的代碼所做的是打印的所有元素,其含量
,但我想要做的是,如果的元素名稱爲<ChapterHistory>
程序將無法讀取標籤的內容,以結束標記
所以程序不會讀取標籤
<RegistrationDate>
<Year>2020</Year>
<Month>8</Month>
<Day>18</Day>
</RegistrationDate>
我該怎麼做?非常感謝。我很難做到這一點
XmlReader rdr = XmlReader.Create(new System.IO.StringReader(myString));
while (rdr.Read())
{
switch (rdr.NodeType)
{
case XmlNodeType.Element:
Console.WriteLine("<" + rdr.Name + ">");
break;
case XmlNodeType.Text:
Console.WriteLine(rdr.Value);
break;
case XmlNodeType.EndElement:
Console.WriteLine("...");
break;
}
count++;
}
我會使用'xslt'而不是手動解析文件。或者當你真的需要邏輯時,不要解析xml,而是反序列化它,或者用'xpath'查詢它。 – Aphelion
但我沒有xslt文件先生。用戶要讀取文件並輸出爲html文件。輸入是xml – knowme
你是什麼意思「程序不應該讀標籤的內容直到它的結束標記」?如果你想繼續閱讀任何背後的東西,我認爲這是不可能的。 OTOH,你的xml根本無效,因爲它有兩個頂層節點'BookHeader'和'ChapterInfo',所以我們假設有一些「圍繞它」來使它有效。而不是「不讀」它,你應該在你的代碼中放置一個變量,表示你不想爲該部分「輸出」相應的HTML代碼。 –