xml - 使用visual basic解析xml文件
问题描述
我正在尝试解析以下示例 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 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
解决方案
推荐阅读
- c - 请解释为什么这个 C 代码给我一个分段错误?
- android - Android - MaterialDatePicker 布局问题
- libreoffice - 有没有办法关闭 LIbreOffice Calc 上视图的自动/粘性定位?
- node.js - 尝试在 Mac 上安装 Vue CLI 时终端挂起
- python - 以 json 格式发送字符串列表
- algorithm - 什么是 exp(O(n)),它与 O(exp(n)) 有何不同?
- javascript - 如何将类应用于在 p5.js 中创建的 P 标签?
- javascript - 如何在 Nuxt-js 方法中路由空白页面?
- list - 替换方案列表中的值
- python - Flask 将 HTML 附加到静态提供的文件