以下のような形式の XML ドキュメントがあります。
<root>
<DETAIL Replaces="XYZ" />
<DETAIL Description="Problem:<br><br>CRS750 dumps when panel F is opened<br><br>>>y" />
<DETAIL StepsToReproduce="ABC" />
</root>
以下の関数を使用して、上記でロードした XML Doc を目的の形式に変換できます。
Function ProcessDetail(ByVal xmlText As String) As String
xtr = New XmlTextReader("GetXMLFileLocation")
xtr.WhitespaceHandling = WhitespaceHandling.None
xmlDoc.Load(xtr)
xtr.Close()
Dim xmlDoc As New XmlDocument()
xmlDoc.LoadXml(xmlText)
Dim sDetail As New StringBuilder()
sDetail.Append("<DETAIL>")
For Each detailNode As XmlNode In xmlDoc.SelectNodes("//DETAIL")
If Not detailNode.Attributes Is Nothing Then
For Each attribute As XmlAttribute In detailNode.Attributes
sDetail.Append("<" & attribute.Name.ToUpper & ">" & attribute.Value & "</" &
attribute.Name.ToUpper & ">")
Next
End If
Next
sDetail.Append("</DETAIL>")
Return sDetail.ToString()
End Function
質問:- DETAIL の下の説明ノードに「HTML」タグがいくつかあるため、以下のエラーが発生します。それを避けて、以下の出力を提供してください。
ERROR MESSAGE : '<', hexadecimal value 0x3C, is an invalid attribute character. Line
1, position 1326.
DESIRED OUTPUT :
<root>
<DETAIL>
<REPLACES>XYZ</REPLACES>
<DESCRIPTION>Problem:<br><br>CRS750 dumps when panel F is opened<br>
<br>>>y</DESCRIPTION>
<STEPSTOREPRODUCE>ABC<STEPSTOREPRODUCE/>
<root>