【问题标题】:Set Data table to contain nodes of xml like data member of data grid VB.net将数据表设置为包含 xml 的节点,如数据网格 VB.net 的数据成员
【发布时间】:2013-06-12 07:15:38
【问题描述】:

我有一个如下所示的 XML 文档:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="CoreNLP-to-HTML.xsl" type="text/xsl"?>
<root>
  <document>
    <sentences>
      <sentence id="1">
        <tokens>
           <token id="7">
            <word>founded</word>
            <lemma>found</lemma>
            <CharacterOffsetBegin>72</CharacterOffsetBegin>
            <CharacterOffsetEnd>79</CharacterOffsetEnd>
            <POS>VBN</POS>
            <NER>O</NER>
          </token>
          <token id="8">
            <word>in</word>
            <lemma>in</lemma>
            <CharacterOffsetBegin>80</CharacterOffsetBegin>
            <CharacterOffsetEnd>82</CharacterOffsetEnd>
            <POS>IN</POS>
            <NER>O</NER>
          </token>
          <token id="9">
            <word>1891</word>
            <lemma>1891</lemma>
            <CharacterOffsetBegin>83</CharacterOffsetBegin>
            <CharacterOffsetEnd>87</CharacterOffsetEnd>
            <POS>CD</POS>
            <NER>DATE</NER>
            <NormalizedNER>1891</NormalizedNER>
            <Timex tid="t1" type="DATE">1891</Timex>
          </token>
          <token id="10">
            <word>.</word>
            <lemma>.</lemma>
            <CharacterOffsetBegin>87</CharacterOffsetBegin>
            <CharacterOffsetEnd>88</CharacterOffsetEnd>
            <POS>.</POS>
            <NER>O</NER>
          </token>
        </tokens>
      </sentence>
    </sentences>
  </document>
</root>

现在我在 Form1 上放置了一个 Datagrid 并添加了以下代码:

Dim ds As DataSet = New DataSet()

ds.ReadXml("input.txt.xml")

With Me.DataGridView1

    .DataSource = ds

    .DataMember = "token"

End With

而且看起来很棒。我可以看到我的 XML 中的所有标记都填充了 Datagrid 的行和列。

但我不想要数据网格中的数据。我只是想要它在数据表中....

 Dim dt As DataTable = New DataTable()


        dt.ReadXml("input.txt.xml")

那么我可以发出什么类似 .DataMember = "token" 的命令,还是需要将其复制到新的数据表中?

谢谢

【问题讨论】:

    标签: xml vb.net datagrid datatable


    【解决方案1】:

    我是通过数据视图完成的:

    Dim myDT As DataTable
    Dim myDV As DataView
    
    myDV = ds.Tables(4).DefaultView
    myDT = myDV.ToTable
    

    如果有人知道如何直接使用或将 (4) 替换为“token” - 因为它是数据集中的第 4 个表,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-25
      • 1970-01-01
      • 2021-08-11
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多