使用visualbasic解析xml文件
我正在尝试解析以下示例xml文件。 从文件中获取xrefid=和callout=文本时遇到问题使用visualbasic解析xml文件,xml,vb.net,parsing,Xml,Vb.net,Parsing,我正在尝试解析以下示例xml文件。 从文件中获取xrefid=和callout=文本时遇到问题 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE etm PUBLIC "-//IADS//DTD Patriot Publications (patiads4.dtd)//EN" "patiads4.dtd"[]> <etm id="n28_1b0n_pc001" label="1"> <chapter l
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE etm PUBLIC "-//IADS//DTD Patriot Publications (patiads4.dtd)//EN" "patiads4.dtd"[]>
<etm id="n28_1b0n_pc001" label="1">
<chapter label="1">
<title>
INTRODUCTION
</title>
<para0.outline>
<para>
<xref xrefid="n28_1b0n_wp000100" callout="0001 00 General Information" />
</para>
</para0.outline>
<para0.outline>
<para>
<xref xrefid="n28_1b0n_wp000200" callout="0002 00 Nomenclature Cross-Reference" />
</para>
</para0.outline>
<para0.outline>
<para>
<xref xrefid="n28_1b0n_wp000300" callout="0003 00 Differences Between Models" />
</para>
</para0.outline>
<para0.outline>
<para>
<xref xrefid="n28_1b0n_wp000400" callout="0004 00 Equipment Description" />
</para>
</para0.outline>
</chapter>
</etm>
介绍
这是我正在使用的代码:
Imports System.IO
Imports System.Xml
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If (ComboBox1.Text = "") Then
MessageBox.Show("No file name entered")
Else
If (System.IO.File.Exists(ComboBox1.Text.ToString())) Then
Dim document As XmlReader = New XmlTextReader(ComboBox1.Text.ToString())
While (document.Read())
Dim type = document.NodeType
If (type = XmlNodeType.Element) Then
If (document.Name = "title") Then
xmlTitle.Visible = True
xmlTitle.Text = document.ReadInnerXml.ToString()
End If
If (document.Name.Contains("para")) Then
Dim test As String = document.ReadInnerXml.ToString()
Dim Doc As New XmlDocument()
Doc.LoadXml("<para>" & test & "</para>")
Dim root As XmlNode = Doc.FirstChild
If root.HasChildNodes Then
Dim _value = root.ChildNodes.Item(0).InnerText.Trim()
xmlRefId1.Visible = True
xmlRefId1.Text = _value
End If
End If
End If
End While
Else
MessageBox.Show("The filename you selected was not found.")
End If
End If
End Sub
End Class
Imports System.IO
导入System.Xml
公开课表格1
私有子按钮1\u单击(发送者作为对象,e作为事件参数)处理按钮1。单击
如果(ComboBox1.Text=“”),则
MessageBox.Show(“未输入文件名”)
其他的
如果(System.IO.File.Exists(ComboBox1.Text.ToString()),则
Dim文档作为XmlReader=newXMLTextReader(ComboBox1.Text.ToString())
While(document.Read())
Dim type=document.NodeType
如果(type=XmlNodeType.Element),则
如果(document.Name=“title”),则
xmlttitle.Visible=True
xmlttitle.Text=document.ReadInnerXml.ToString()
如果结束
如果(document.Name.包含(“段落”)),则
Dim测试为String=document.ReadInnerXml.ToString()
Dim Doc作为新的XmlDocument()
Doc.LoadXml(“&test&”)
Dim root作为XmlNode=Doc.FirstChild
如果root.HasChildNodes,则
Dim_value=root.ChildNodes.Item(0).InnerText.Trim()
xmlRefId1.Visible=True
xmlRefId1.Text=\u值
如果结束
如果结束
如果结束
结束时
其他的
Show(“找不到您选择的文件名”)
如果结束
如果结束
端接头
末级
最好使用LINQ to XML API满足您的需要。感谢您的帮助最好使用LINQ to XML API满足您的需要。感谢您的帮助