我懷疑在c#中sgmlReading/XmlWriting,我正在寫幾個基於條件的startElement,EndElement。如何刪除開始/結束元素
如果我不想寫特定的標籤,但我需要內在的Xml,如何去除標籤?,請幫助解決這個問題!
這是我的示例XML:
<BODY>
<p><l>bla bla</li></p>
<h1><p2>bla bla</p2></h1>
<xyz>bla bla<p3>bla bla</p3>bla bla</xyz>
<abc><p3>bla bla</p3></abc>
</BODY>
在這裏,我通過一個讀取XML元素之一,如果元素的名稱是「某某」和「ABC」,我不想寫的元素名稱。
public class XMLWriter : XmlTextWriter
{
//if element name this is following strings, i don't want to write element name.
public static string[] notAllowedTags = new string[] { "xyz", "abc"}
public override void WriteStartElement(string prefix, string localName, string ns)
{
bool doWrite = true;
string tagLocalName = localName;
foreach (string name in notAllowedTags)
{
if (name == tagLocalName)
{
doWrite = false;
break;
}
}
if (doWrite)
{
localName = tagLocalName;
openingElement = localName;
base.WriteStartElement(prefix, localName, ns);
}
else
{
//base.WriteStartElement(prefix, localName, ns);
//else condition i don't want to write element, if i keep empty,
}
}
//this is for write start element
public override void WriteEndElement()
{
}
}
感謝&問候,
薩蘭
你可以把你的XML文件 –
這真的很難理解你要完成的任務。請提供您想要製作的示例。 –
K.B和Jim Mischel,我修改了我的問題,請幫我解決這個問題。 –