我搞过 140 多MB的XML 呢,哪儿来的索引啊...[align=center]*********************************************************** 
                   欢迎使用 CSDN 小秘书
              http://blog.csdn.net/whowhen21
***********************************************************[/align]

解决方案 »

  1.   

    是毕业论文要涉及到这方面的东西,意思是对一个XML数据库建立索引,方便对其中数据进行搜索
      

  2.   

    使用 Visual C# .NET 通过 XPath 表达式查询 XML(转)本文演示如何使用 XPathNavigator 类通过 XML 路径语言 (XPath) 表达式查询 XPathDocument 对象。XPath 用于以编程方式计算表达式并选择文档中的特定节点。 
    回到顶端 要求
    下面的列表列出了推荐使用的硬件、软件、网络基础结构以及所需的服务包: 
    Visual C# .NET 
    本文假定您熟悉下列主题: 
    XML 术语 
    创建和读取 XML 文件 
    XPath 语法
    回到顶端 如何用 XPath 表达式查询 XML
    在 Visual Studio .NET 中新建一个 Visual C# .NET 控制台应用程序。
    备注:本示例使用名为 Books.xml 的文件。您可以创建自己的 Books.xml 文件,也可以使用 .NET 软件开发工具包 (SDK) 快速入门中包括的示例。如果您没有安装"快速入门"而且也不想安装它们,请参阅 Books.xml 下载位置的"参考"部分。如果已经安装了"快速入门",则该文件位于以下文件夹中: 
    Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB 必须将该文件复制到 \Bin\Debug 文件夹,该文件夹位于您在其中创建该项目的文件夹中。 确保该项目引用 System.Xml 名称空间。 
    在 Xml 和 XPath 名称空间上使用 using 语句,这样以后就不需要在代码中限定这些名称空间中的声明了。using 语句必须在所有其他声明之前使用,如下所示: using System.Xml;
    using System.Xml.XPath;
    声明合适的变量。声明 XPathDocument 对象以保存 XML 文档,声明 XpathNavigator 对象以计算 XPath 表达式,声明 XPathNodeIterator 对象以迭代通过选定节点。声明 String 对象以保存 XPath 表达式。在 Class1 的 Main 函数中添加声明代码。 XPathNavigator nav; 
    XPathDocument docNav; 
    XPathNodeIterator NodeIter;
    String strExpression;
    用示例文件 Books.xml 加载 XPathDocument。XPathDocument 类使用可扩展样式表语言转换 (XSLT) 为 XML 文档处理提供快速和面向性能的缓存。它类似于 XML 文档对象模型 (DOM),但经过了高度优化,以用于 XSLT 处理和 XPath 数据模型。 // Open the XML.
    docNav = new XPathDocument(@"c:\books.xml");
    从文档创建 XPathNavigator。XPathNavigator 对象用于进行只读 XPath 查询。XPath 查询可返回结果值或许多节点。 // Create a navigator to query with XPath.
    nav = docNav.CreateNavigator();
    创建 XPath 表达式以查找图书的平均价格。这个 XPath 表达式返回单个值。有关 XPath 语法的完整详细信息,请参见"参考"部分中的"XPath 语法"。 // Find the average cost of a book.
    // This expression uses standard XPath syntax.
    strExpression = "sum(/bookstore/book/price) div count(/bookstore/book/price)";
    使用 XPathNavigator 对象的 Evaluate 方法计算 XPath 表达式。Evaluate 方法返回该表达式的结果。 // Use the Evaluate method to return the evaluated expression.
    Console.WriteLine("The average cost of the books are {0}", nav.Evaluate(strExpression));
    创建 XPath 表达式以查找价格超过 10 美元的所有图书。这个 XPath 表达式只从 XML 源中返回 Title 节点。 // Find the title of the books that are greater then $10.00.
    strExpression = "/bookstore/book/title[../price>10.00]";
    为使用 XPathNavigator 的 Select 方法选择的节点创建 XPathNodeIterator。XPathNodeIterator 表示 XPath 节点集,因此它支持针对该节点集执行的操作。 // Select the node and place the results in an iterator.
    NodeIter = nav.Select(strExpression);
    使用从 XPathNavigator 的 Select 方法返回的 XPathNodeIterator 遍历选定的节点。在这种情况下,可使用 XPathNodeIterator 的 MoveNext 方法迭代通过选定的所有节点。 Console.WriteLine("List of expensive books:");
    //Iterate through the results showing the element value.
    while (NodeIter.MoveNext())
      {
    Console.WriteLine("Book Title:{0}", NodeIter.Current.Value);
      };
    使用 ReadLine 方法在控制台显示的末尾添加 pause,以便更容易地显示上述结果。 //Pause
    Console.ReadLine();
    生成并运行您的项目。请注意,这些结果显示在控制台窗口中。 
      

  3.   

    XML 数据上创建索引(在 XML 数据上创建索引)(转)XML 数据的索引可以提高对 XML 列的查询性能。与关系索引类似,XML 数据的索引也是建立列索引。不过,它们的区别在于关系索引对整列编制索引,而 XML 数据索引对列的一部分编制索引。您可以通过指定一种 XML 模式(这是一种限制的 XPath 表达式)来指明对 XML 列的哪些部分编制索引。您还需要指定存储索引值所使用的数据类型。一般来说,您选择的类型应当与在查询中使用的类型相同。如果节点无法投射到指定的索引类型,将不会创建索引条目,也不会返回任何错误。 
    您可以只对单个 XML 列编制索引,不支持复合索引。不过,您可以对一个 XML 编制多个索引。 
    请注意,并非 CREATE INDEX 语句的所有子句都适用于 XML 数据的索引。有关详细信息,请参阅“CREATE INDEX 语句”。 
    与关系索引一样,建议您编制谓词和跨文档连接中常用的 XML 元素或属性的索引。 
    发出以下语句在 XML 数据上创建索引: 
    CREATE UNIQUE INDEX cust_cid_xmlidx ON Customer(Info) 
    GENERATE KEY USING XMLPATTERN 
    'declare default element namespace "http://posample.org"; /customerinfo/@Cid' 
    AS SQL DOUBLE~ 
    此语句为 Customer 表 Info 列中的 <customerinfo> 元素的 Cid 属性值编制索引。 
    请注意,指定的 XML 模式是区分大小写的。例如,如果 XML 文档包含属性“cid”而不是“Cid”,则那些文档与此索引不匹配。
      

  4.   

    LINQ TO XML查询数据
    XML读取到dataset 查询
    XMLDocument doc=new XMLDocument();
    doc.Load("");
    XmlNode no= root.SelectSingleNode("//A[@name='']"); 
      

  5.   

    XMLDocument doc=new XMLDocument();
    doc.Load("");
    XmlNode no= root.SelectSingleNode("//A[@name='']");