XML 全文检索的问题.

拔火罐复合弓 2004-12-02 11:27:22
<?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的数据
...全文
178 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
拔火罐复合弓 2004-12-02
  • 打赏
  • 举报
回复
这样呢!只要搜索的时候去搜索出最新的资料和被改动的资料。。
然后放到XML文件中去

这样就可以把数据库分离成N多个XML
拔火罐复合弓 2004-12-02
  • 打赏
  • 举报
回复
比如。。
我搜索“电”与城市在“北京”的资料
id Topic 城市 Isxml
1 电脑书 深圳 0
2 电书 北京 1
3 其它 上海 1

Sql="Select * from test1 where Isxml=0 And Topic like '%电%'"
然后将结果增加到“电.xml”文件中去

然后在"电.XML"中去搜索
城市=北京
拔火罐复合弓 2004-12-02
  • 打赏
  • 举报
回复
比如。。
我搜索“书”与城市在“深圳”的资料
id Topic 城市 Isxml
1 电脑书 深圳 0
2 电书 北京 1
3 其它 上海 1

Sql="Select * from test1 where Isxml=0 And Topic like '%书%'"
然后将结果增加到“书.xml”文件中去

然后在"书.XML"中去搜索
城市=深圳
newfeel 2004-12-02
  • 打赏
  • 举报
回复
這樣做xml就會越來越大。。我覺得有點畫蛇添足了吧?還是跟你們分析員討論下這個方法行不行得通好了。
xzq686 2004-12-02
  • 打赏
  • 举报
回复
试试:
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
拔火罐复合弓 2004-12-02
  • 打赏
  • 举报
回复
不是这样的。。
主要我的用法是这样的。
我用SQL SERVER 2000
在SQL中去搜索未生成XML的数据。然后将结果增加到XML文件中。
然后在XML文件在再去搜索
然后将结果显示出来。
newfeel 2004-12-02
  • 打赏
  • 举报
回复
回复人: hanlichou() ( ) 信誉:100 2004-12-02 11:35:00 得分: 0


dataview 一定不行。。。
比如有20万条或以上的条数据呢?
里面可以我只须要100条。。。
这样速度一定不行。
------------------------------------------------
20萬條的數據你還用xml,我懷疑你用xml的出發點。。唉。。。。當我沒說。
SVG 2004-12-02
  • 打赏
  • 举报
回复
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>
拔火罐复合弓 2004-12-02
  • 打赏
  • 举报
回复
dataview 一定不行。。。
比如有20万条或以上的条数据呢?
里面可以我只须要100条。。。
这样速度一定不行。
拔火罐复合弓 2004-12-02
  • 打赏
  • 举报
回复
XQUERY语法如何编写
newfeel 2004-12-02
  • 打赏
  • 举报
回复
把這個xml的文檔讀到dataview中。。用dataview來過濾。就可以了。
nga96 2004-12-02
  • 打赏
  • 举报
回复
关注,听说可以用XQUERY,没试过
拔火罐复合弓 2004-12-02
  • 打赏
  • 举报
回复
Dim XmlDoc As New System.Xml.XmlDocument
XmlDoc.Load("c:\test.xml")
接下来如何做。
谢谢
拔火罐复合弓 2004-12-02
  • 打赏
  • 举报
回复
<xsl:when test="contains(Number, '')">
能否解释一下。contains的用法。
中的contains能不在在。NET中去使用。。

拔火罐复合弓 2004-12-02
  • 打赏
  • 举报
回复
我不是要用XSL。。。
因为XSL我会写。。。。
平面的。。他们不会搞

我是想用.NET去格式化XML输出HTML

SVG 2004-12-02
  • 打赏
  • 举报
回复
to hanlichou() :
能理解我提供的那段xsl否?

就是要利用它将xml转换成另一个查询结果的xml

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧