在.Net1.2中对Xquery的支持

此博客展示了在.NET环境下使用XQuery查询XML数据的示例代码。定义了XQuery查询语句,筛选出genre为'philosophy'且publicationdate为'1991'的书籍标题,并将结果输出到output.xml文件中,还给出了示例XML数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在.Net1.2中支持Xquery,Xquery使用一种叫FLWOR的查询语言(音Flower).例子如下:

using System;
using System.IO;
using System.Xml;
using System.Xml.Query;
using System.Data.SqlXml;
namespace XQuery{
public class XQuerySample{  
public static void Main(string[] args)  {    
System.Xml.XmlDataSourceResolver ds = new System.Xml.XmlDataSourceResolver ();    
ds.Add("bookstore","books.xml");    
StreamWriter writer=new StreamWriter("output.xml");   
 string query=@"<bookstore>      {        
 for $b in document('bookstore')/bookstore/book        
 where $b/@genre='philosophy' and $b/@publicationdate='1991'       
 return $b/title       
}    
</bookstore>";    
XQueryProcessor xp = new XQueryProcessor ();    
xp.Compile(query);    
xp.Execute(ds, writer);    
writer.Close();  
}  
}
}

books.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- This file represents a fragment of a bookstore database -->
<bookstore> 
 <book genre="autobiography" publicationdate="1981" ISBN="1-861-11-0">  
  <title>The Autobiography of Benjamin Franklin</title>   
 <author>      
  <first-name>Benjamin</first-name>     
   <last-name>Franklin</last-name>   
</author>   
 <price>8.99</price>  
</book>  
<book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">    
<title>The Confidence Man</title>   
 <author>      
<first-name>Herman</first-name>      
<last-name>Melville</last-name>   
</author>    
<price>11.99</price>  
</book>  
<book genre="philosophy" publicationdate="1991"   ISBN="1-861001-57-6">  
 <title>The Gorgias</title>    
<author>      
<name>Plato</name>    
</author>    
<price>9.99</price>  
</book>
</bookstore>

output.xml

<?xml version="1.0" encoding="utf-8"?>
<bookstore>
<title>The Gorgias</title>
</bookstore>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值