查询XML文档
标签:数据访问 ADO.NET
查询XML文档 LINQ to XML类提供属性和方法,返回可查询的类的对象集合。
将XML对象作为LINQ查询对象:
.......
XDocument customers = XDocument.Load(xmlFileName);
var queryResult = from c in customers.Elements() select c.Name;
使用查询成员
1)Element():返回文档 或 片段中的第一个元素。文档的话就返回根元素; 2)Descendants():返回文档 或 片段中的所有子元素(所有级别); 例:queryResults = from c in customers.Descendants() select c.Name; foreach (var item in queryResults.Distinct()) //筛选出不同的元素
Descendants(string)重载: queryResults = from c in customers.Desendants("customer") select c; //查询指定名称的子元素,返回所有customer元素。
3)Ancestors():返回比源元素级别高的一组元素;
4)Attribute():返回当前选中元素的所有属性;
例:queryResults = from c in customers.Descendants("customer").Attributes() select c; //返回customers中所有customer元素的属性值
相关文档:
/// <summary>
/// DataTable-------------------->XML --String
/// </summary>
public static String ToXmlString(DataTable dt)
{
StringWriter tr = new StringWriter();
try
{
dt.WriteXml(tr); ......
一个XML文件通常包含文件头和文件体两大部分
1. 文件头
XML文件头由XML声明与DTD文件类型声明组成。其中DTD文件类型声明是可以缺少的,关于DTD声明将在后续的内容中介绍,而XML声明是必须要有的,以使文件符合XML的标准规格。
在前面的Flowers.xml文件中的第一行代码即为XML声明:
<?xml 版 ......
public int createXMLFile(String filename) {
int returnValue = 0;
Document document = DocumentHelper.createDocument(); //生成Document,用于管理XML文档
Element booksElement = document.addElement("books"); //添加 ......
XML文件实例:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource auth="Container" maxActive="20" name="sss" password="123"
type="javax.sql.DataSource" />
<Resource auth="Container" ......
AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性
能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人
们开始意识到其重要性.
这两项被忽视的性能是:
* 无需重新装载整个页面便能向服务器发送请求.
* 对XML文档的解析和处理.
......