<?xml version="1.0" encoding="gb2312"?>
<cpp>
<test ID="2">
<ID>2</ID>
<Title>测试帖子1</Title>
<Describing>内容内容内容内容1</Describing>
</test>
<test ID="3">
<ID>3</ID>
<Title>测试标题2</Title>
<Describing>内容帖子容内容2</Describing>
</test>
<test ID="4">
<ID>4</ID>
<Title>测试标题2</Title>
<Describing>内容容内容2</Describing>
</test>
</cpp>请问如何在Visual Basic.NET里 搜索:
比如 我要搜索  "帖子"  这个关建字..
如何筛选结果为 ID=2和ID=3的数据

解决方案 »

  1.   

    Dim XmlDoc As New System.Xml.XmlDocument
    XmlDoc.Load("c:\test.xml")
    接下来如何做。
    谢谢
      

  2.   

    关注,听说可以用XQUERY,没试过
      

  3.   

    把這個xml的文檔讀到dataview中。。用dataview來過濾。就可以了。
      

  4.   

    dataview 一定不行
    比如有20万条或以上的条数据呢?
    里面可以我只须要100条
    这样速度一定不行。
      

  5.   

    XPath方法写Xquery, 要看:
    Xpath的function: bool contains(string, substring)参考:
    <?xml version="1.0" encoding="UTF-8" ?>
    <xml id="xslDoc">
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/Root">
    <Root>
    <xsl:apply-templates select="R">
    <xsl:sort select="undefined" data-type="text" order="ascending" />
    </xsl:apply-templates>
    </Root>
    </xsl:template>
    <xsl:template match="R">
    <xsl:choose>
    <xsl:when test="contains(Number, '')">
    <R>
    <Number>
    <xsl:value-of select="Number" />
    </Number>
    <Grade>
    <xsl:value-of select="Grade" />
    </Grade>
    <Name>
    <xsl:value-of select="Name" />
    </Name>
    <Email>
    <xsl:value-of select="Email" />
    </Email>
    <Adress>
    <xsl:value-of select="Adress" />
    </Adress>
    <Date>
    <xsl:value-of select="Date" />
    </Date>
    </R>
    </xsl:when>
    </xsl:choose>
    </xsl:template>
    </xsl:stylesheet>
    </xml>
      

  6.   

    回复人: hanlichou() ( ) 信誉:100  2004-12-02 11:35:00  得分: 0  
     
     
       dataview 一定不行
    比如有20万条或以上的条数据呢?
    里面可以我只须要100条
    这样速度一定不行。
    ------------------------------------------------
    20萬條的數據你還用xml,我懷疑你用xml的出發點。。唉。當我沒說。
      

  7.   

    不是这样的。。
    主要我的用法是这样的。
    我用SQL SERVER 2000
    在SQL中去搜索未生成XML的数据。然后将结果增加到XML文件中。
    然后在XML文件在再去搜索
    然后将结果显示出来。
      

  8.   

    试试:
    Dim XmlDoc As New System.Xml.XmlDocument
    XmlDoc.Load("c:\test.xml")
    Dim TitleString As String
    Dim Describing As String
    TitleString = xmlDoc.SelectSingleNode("//cpp[test[ID='2']]/Title").InnerText
    Describing = xmlDoc.SelectSingleNode("//cpp[test[ID='2']]/Describing").InnerText
      

  9.   

    這樣做xml就會越來越大。。我覺得有點畫蛇添足了吧?還是跟你們分析員討論下這個方法行不行得通好了。
      

  10.   

    比如。。
    我搜索“书”与城市在“深圳”的资料
    id   Topic   城市   Isxml
    1    电脑书  深圳   0
    2    电书    北京   1
    3    其它    上海   1Sql="Select * from test1 where Isxml=0 And Topic like '%书%'"
    然后将结果增加到“书.xml”文件中去然后在"书.XML"中去搜索
    城市=深圳
      

  11.   

    比如。。
    我搜索“电”与城市在“北京”的资料
    id   Topic   城市   Isxml
    1    电脑书  深圳   0
    2    电书    北京   1
    3    其它    上海   1Sql="Select * from test1 where Isxml=0 And Topic like '%电%'"
    然后将结果增加到“电.xml”文件中去然后在"电.XML"中去搜索
    城市=北京
      

  12.   

    这样呢!只要搜索的时候去搜索出最新的资料和被改动的资料。。
    然后放到XML文件中去这样就可以把数据库分离成N多个XML
      

  13.   

    to hanlichou() :
    能理解我提供的那段xsl否?就是要利用它将xml转换成另一个查询结果的xml
      

  14.   

    我不是要用XSL
    因为XSL我会写。
    平面的。。他们不会搞我是想用.NET去格式化XML输出HTML
      

  15.   

    <xsl:when test="contains(Number, '')">
    能否解释一下。contains的用法。
    中的contains能不在在。NET中去使用。。