1

我在 mysql 数据库中有一个表,其中存储了许多 XML 字符串。XML 字符串如下所示:

<?xml version="1.0" encoding="utf-8"?>
<plant>
  <concept>
    <item>Payroll</item>
    <father>administration</father>
    <name>CEO</name>
    <total>25000</total>
    <week1>21000</week1>
    <week2>1000</week2>
    <week3>1000</week3>
    <week4>1000</week4>
    <week5>1000</week5>
    <approval>Not Approved</approval>
  </concept>
  <concept>
    <item>Payroll</item>
    <father>administration</father>
    <name>Cleaning Lady</name>
    <total>25000</total>
    <week1>21000</week1>
    <week2>1000</week2>
    <week3>1000</week3>
    <week4>1000</week4>
    <week5>1000</week5>
    <approval>Approved</approval>
  </concept>
 </plant>

我进行查询,例如:

select xml from table

并将结果存储在数据集中。

然后我通过数据集将我的 XML 字符串加载到一个简单的字符串对象中,例如

stringXML = dset.tables(0).rows(0)(0).tostring

这就是问题开始的地方,我知道如何使用字符串阅读器从 XMl 文件加载数据集。

所以我通常的代码如下:

  Dim dset2 As New DataSet
  Dim reader As StringReader
  reader = New StringReader(xml) 'xml contains the xml string already loaded
  dset2.ReadXml(reader)

当我调试时,阅读器(stringReader)没有加载任何东西!,我有其他项目具有相同的编程方法并且运行良好,但现在,它不起作用。

字符串阅读器不返回任何内容,如果我添加检查(与 2005 年相比),它是一样的,我的 var 阅读器什么也没有。

我在跳过什么吗?或者只是累了……

4

1 回答 1

0

我看不出确切的问题是什么,但这里有几件事你应该检查。

1-获取字符串的方式无关紧要......重要的是要查看,当您调用此行执行时,它是“xml”变量的值:

reader = New StringReader(xml) 'xml包含已经加载的xml字符串

xml 变量是否包含预期值?如果没有,则检查您存储和从数据库中检索值的方式。

2-是不加载东西的stringReader,还是不加载预期值的dset2.ReadXml?

3-您如何确定“字符串阅读器不返回任何内容”?在您的情况下, reader 是一个对象,而不是一个函数......它可以为 null (或在 VB 中为空),但它不能返回任何内容。您是否尝试过 reader.ReadToEnd 以找出加载的内容?

于 2011-04-20T01:43:56.627 回答