VB.Net XML 解析问题
VB.Net XML Parsing Issue
我在将某些 XML 信息解析到 richtextbox 时遇到一些困难。我正在从流中提取一个 XML 文件并且数据成功通过,但是当我尝试查看元素时我认为存在问题。
这是加载后的流的片段(每个表单名称旁边通常有值)
"<表单名称="SupportRepID">1234
<表格名称="SupportRepName">约翰·史密斯< /form>
<表单名称="SupportRepKey">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
<表格名称="DepartmentID">1表格>
<表单名称="DepartmentName">一般< /form>
<表格名称="DepartmentCurrency">$
我的最终目标是能够获取 SupportRepKey 和 SupportRepName。
我认为问题在于 < details > 下的每个名称都没有被归类为元素。当我 运行 这样的代码尝试获取 "SupportRepKey" 的值时,消息框将显示空值(空白)。
Dim reader As XDocument = XDocument.Load(dataStream)
For Each detail As XElement In reader...<details>
Dim APIKey As String = detail.Element("SupportRepKey")
MessageBox.Show(APIKey) 'returns null value
Next
如果我 运行 使用它(用于故障排除以确保 XML 文件是从数据流中提取的):
Dim reader As XDocument = XDocument.Load(dataStream)
For Each detail As XElement In reader...<details>
MessageBox.Show(detail.Value) 'returns all values in one long string
Next
它 returns 一个长字符串中每个
属性是您所追求的,不完全确定您的代码会发生什么变化,但改变查看属性将允许您提取此数据。
detail.Element("form").属性("name")
你想要的 Element 是 "form",它有一个 Attribute "name",其值为 "SupportRepKey".
您正在做的是:找到元素 "SupportRepKey"。
detail.Element("SupportRepKey")
但这不存在,因为元素名称是 "form"。 "SupportRepKey" 只是名为 "name".
的属性的值
使用 XPath 怎么样?
C#:
string repKey = reader.XPathSelectElement("//form[@name='SupportRepKey']").Value;
我在将某些 XML 信息解析到 richtextbox 时遇到一些困难。我正在从流中提取一个 XML 文件并且数据成功通过,但是当我尝试查看元素时我认为存在问题。
这是加载后的流的片段(每个表单名称旁边通常有值)
"<表单名称="SupportRepID">1234
<表格名称="SupportRepName">约翰·史密斯< /form>
<表单名称="SupportRepKey">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
<表格名称="DepartmentID">1表格>
<表单名称="DepartmentName">一般< /form>
<表格名称="DepartmentCurrency">$
我的最终目标是能够获取 SupportRepKey 和 SupportRepName。
我认为问题在于 < details > 下的每个名称都没有被归类为元素。当我 运行 这样的代码尝试获取 "SupportRepKey" 的值时,消息框将显示空值(空白)。
Dim reader As XDocument = XDocument.Load(dataStream)
For Each detail As XElement In reader...<details>
Dim APIKey As String = detail.Element("SupportRepKey")
MessageBox.Show(APIKey) 'returns null value
Next
如果我 运行 使用它(用于故障排除以确保 XML 文件是从数据流中提取的):
Dim reader As XDocument = XDocument.Load(dataStream)
For Each detail As XElement In reader...<details>
MessageBox.Show(detail.Value) 'returns all values in one long string
Next
它 returns 一个长字符串中每个
属性是您所追求的,不完全确定您的代码会发生什么变化,但改变查看属性将允许您提取此数据。
detail.Element("form").属性("name")
你想要的 Element 是 "form",它有一个 Attribute "name",其值为 "SupportRepKey".
您正在做的是:找到元素 "SupportRepKey"。
detail.Element("SupportRepKey")
但这不存在,因为元素名称是 "form"。 "SupportRepKey" 只是名为 "name".
的属性的值使用 XPath 怎么样?
C#:
string repKey = reader.XPathSelectElement("//form[@name='SupportRepKey']").Value;