如何在 vb.net 中解析一串 xml
Posted
技术标签:
【中文标题】如何在 vb.net 中解析一串 xml【英文标题】:How to parse a string of xml in vb.net 【发布时间】:2020-12-13 07:16:31 【问题描述】:您好,我有一个下面提到的 xml,它是来自数据库的字符串值。我想解析 xml 字符串并且不想保存那些有空白空间的,即这个语句意味着它存储了空白空间。我需要在 if 条件下查找此语句,如果为空则不保存。请让我知道该怎么做。下面是xml之后的vb.net代码
<DocumentElement>
<TBLCustomizedCodes>
<tblRowkey>-1</tblRowkey>
<TBLRowCustomizedCodes>test</TBLRowCustomizedCodes>
<TBLRowCompliance>N/A</TBLRowCompliance>
</TBLCustomizedCodes>
<TBLCustomizedCodes>
<tblRowkey>-2</tblRowkey>
<TBLRowCustomizedCodes xml:space="preserve"> </TBLRowCustomizedCodes>
<TBLRowCompliance xml:space="preserve"> </TBLRowCompliance>
</TBLCustomizedCodes>
<TBLCustomizedCodes>
<tblRowkey>-3</tblRowkey>
<TBLRowCustomizedCodes xml:space="preserve"> </TBLRowCustomizedCodes>
<TBLRowCompliance xml:space="preserve"> </TBLRowCompliance>
</TBLCustomizedCodes>
</DocumentElement>
Dim ds As DataSet = New DataSet("DocumentElement")
ds.Tables.Add(tempdataTable)
Dim valueXML As String = ds.GetXml().ToString().Trim()
SaveInspectionSupplementalLineItem(valueXML)
【问题讨论】:
完全不清楚你想做什么? 我正在尝试读取上面提到的 xml 字符串并查找保存前可以使用String.IsNullOrWhiteSpace(string)
检查是否为空
Dim ds As DataSet = New DataSet("DocumentElement")
ds.Tables.Add(tempdataTable)
Dim valueXML As String = ds.GetXml().ToString().Trim()
If Not String.IsNullOrWhiteSpace(valueXML) Then
SaveInspectionSupplementalLineItem(valueXML)
End If
【讨论】:
不幸的是它不起作用,因为我正在寻找XmlDocument.SelectSingleNode(node path).InnerText
【参考方案2】:
也许这会有所帮助
Dim xe As XElement
Dim valueXML As String = ds.GetXml() '.ToString() '???
xe = XElement.Parse(valueXML)
Dim ie As IEnumerable(Of XElement)
ie = From el In xe.Descendants Where el.Value.Trim = "" Select el
If ie.Count > 0 Then
'there WERE Elements with empty space
Stop 'look at ie.Results
Else
'no empties
End If
【讨论】:
非常感谢!这有帮助。以上是关于如何在 vb.net 中解析一串 xml的主要内容,如果未能解决你的问题,请参考以下文章
VB.NET:使用 XDocument 在 XML 文件中添加/编辑/删除 XElement