XML的应用越来越广泛了,如Vista、Flex编程都将使用 XML,正确掌握XML的各种操作,对提高编程效率至关重要。下面就是一个综合处理带名称空间的XML的例子。
C#:
VB.NET:
C#:
string
w3NameSpace
=
"
http://www.w3.org/2000/xmlns/
"
;
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
// 创建根节点
System.Xml.XmlNode root = doc.CreateNode(System.Xml.XmlNodeType.Element, " w " , " wordDocument " , " http://schemas.microsoft.com/office/word/2003/2/wordml " );
System.Xml.XmlAttribute xa;
xa = doc.CreateAttribute( " xmlns " , " v " , w3NameSpace);
xa.Value = " urn:schemas-microsoft-com:vml " ;
root.Attributes.Append(xa);
// 为节点添加属性
xa = doc.CreateAttribute( " xmlns " , " w10 " , w3NameSpace);
xa.Value = " urn:schemas-microsoft-com:office:word " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " SL " , w3NameSpace);
xa.Value = " http://schemas.microsoft.com/schemaLibrary/2003/2/core " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " aml " , w3NameSpace);
xa.Value = " http://schemas.microsoft.com/aml/2001/core " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " wx " , w3NameSpace);
xa.Value = " http://schemas.microsoft.com/office/word/2003/2/auxHint " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " o " , w3NameSpace);
xa.Value = " urn:schemas-microsoft-com:office:office " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " dt " , w3NameSpace);
xa.Value = " uuid:C2F41010-65B3-11d1-A29F-00AA00C14882 " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " space " , w3NameSpace);
xa.Value = " preserve " ;
root.Attributes.Append(xa);
// 为节点增加值
System.Xml.XmlNode body = doc.CreateNode(System.Xml.XmlNodeType.Element, " v " , " body " , " urn:schemas-microsoft-com:vml " );
System.Xml.XmlNode childNode = doc.CreateNode(System.Xml.XmlNodeType.Element, " o " , " t " , " urn:schemas-microsoft-com:office:office " );
childNode.InnerText = " 欢迎光临【孟宪会之精彩世界】 " ;
// 添加到内存树中
body.AppendChild(childNode);
root.AppendChild(body);
doc.AppendChild(root);
// 添加节点声明
System.Xml.XmlDeclaration xd = doc.CreateXmlDeclaration( " 1.0 " , " UTF-8 " , " yes " );
doc.InsertBefore(xd, doc.DocumentElement);
// 添加处理指令
System.Xml.XmlProcessingInstruction spi = doc.CreateProcessingInstruction( " mso-application " , " progid="Word.Document" " );
doc.InsertBefore(spi, doc.DocumentElement);
// 查询节点
System.Xml.XmlNamespaceManager nsmanager = new System.Xml.XmlNamespaceManager(doc.NameTable);
nsmanager.AddNamespace( " w " , " http://schemas.microsoft.com/office/word/2003/2/wordml " );
nsmanager.AddNamespace( " v " , " urn:schemas-microsoft-com:vml " );
nsmanager.AddNamespace( " o " , " urn:schemas-microsoft-com:office:office " );
System.Xml.XmlNode node = doc.SelectSingleNode( " w:wordDocument/v:body/o:t " , nsmanager);
Response.Write(node.InnerText);
node.InnerText = " 欢迎光临【孟宪会之精彩世界】:http://dotnet.aspx.cc/ " ;
// 创建CDATA节点
System.Xml.XmlCDataSection xcds = doc.CreateCDataSection( " <a href='http://dotnet.aspx.cc/'>【孟宪会之精彩世界】</a> " );
node.ParentNode.InsertAfter(xcds, node);
Response.Write(xcds.InnerText);
doc.Save(Server.MapPath( " test.xml " ));
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
// 创建根节点
System.Xml.XmlNode root = doc.CreateNode(System.Xml.XmlNodeType.Element, " w " , " wordDocument " , " http://schemas.microsoft.com/office/word/2003/2/wordml " );
System.Xml.XmlAttribute xa;
xa = doc.CreateAttribute( " xmlns " , " v " , w3NameSpace);
xa.Value = " urn:schemas-microsoft-com:vml " ;
root.Attributes.Append(xa);
// 为节点添加属性
xa = doc.CreateAttribute( " xmlns " , " w10 " , w3NameSpace);
xa.Value = " urn:schemas-microsoft-com:office:word " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " SL " , w3NameSpace);
xa.Value = " http://schemas.microsoft.com/schemaLibrary/2003/2/core " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " aml " , w3NameSpace);
xa.Value = " http://schemas.microsoft.com/aml/2001/core " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " wx " , w3NameSpace);
xa.Value = " http://schemas.microsoft.com/office/word/2003/2/auxHint " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " o " , w3NameSpace);
xa.Value = " urn:schemas-microsoft-com:office:office " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " dt " , w3NameSpace);
xa.Value = " uuid:C2F41010-65B3-11d1-A29F-00AA00C14882 " ;
root.Attributes.Append(xa);
xa = doc.CreateAttribute( " xmlns " , " space " , w3NameSpace);
xa.Value = " preserve " ;
root.Attributes.Append(xa);
// 为节点增加值
System.Xml.XmlNode body = doc.CreateNode(System.Xml.XmlNodeType.Element, " v " , " body " , " urn:schemas-microsoft-com:vml " );
System.Xml.XmlNode childNode = doc.CreateNode(System.Xml.XmlNodeType.Element, " o " , " t " , " urn:schemas-microsoft-com:office:office " );
childNode.InnerText = " 欢迎光临【孟宪会之精彩世界】 " ;
// 添加到内存树中
body.AppendChild(childNode);
root.AppendChild(body);
doc.AppendChild(root);
// 添加节点声明
System.Xml.XmlDeclaration xd = doc.CreateXmlDeclaration( " 1.0 " , " UTF-8 " , " yes " );
doc.InsertBefore(xd, doc.DocumentElement);
// 添加处理指令
System.Xml.XmlProcessingInstruction spi = doc.CreateProcessingInstruction( " mso-application " , " progid="Word.Document" " );
doc.InsertBefore(spi, doc.DocumentElement);
// 查询节点
System.Xml.XmlNamespaceManager nsmanager = new System.Xml.XmlNamespaceManager(doc.NameTable);
nsmanager.AddNamespace( " w " , " http://schemas.microsoft.com/office/word/2003/2/wordml " );
nsmanager.AddNamespace( " v " , " urn:schemas-microsoft-com:vml " );
nsmanager.AddNamespace( " o " , " urn:schemas-microsoft-com:office:office " );
System.Xml.XmlNode node = doc.SelectSingleNode( " w:wordDocument/v:body/o:t " , nsmanager);
Response.Write(node.InnerText);
node.InnerText = " 欢迎光临【孟宪会之精彩世界】:http://dotnet.aspx.cc/ " ;
// 创建CDATA节点
System.Xml.XmlCDataSection xcds = doc.CreateCDataSection( " <a href='http://dotnet.aspx.cc/'>【孟宪会之精彩世界】</a> " );
node.ParentNode.InsertAfter(xcds, node);
Response.Write(xcds.InnerText);
doc.Save(Server.MapPath( " test.xml " ));
Dim
w3NameSpace
As
String
=
"
http://www.w3.org/2000/xmlns/
"
Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument
Dim root As System.Xml.XmlNode = doc.CreateNode(System.Xml.XmlNodeType.Element, " w " , " wordDocument " , " http://schemas.microsoft.com/office/word/2003/2/wordml " )
Dim xa As System.Xml.XmlAttribute
xa = doc.CreateAttribute( " xmlns " , " v " , w3NameSpace)
xa.Value = " urn:schemas-microsoft-com:vml "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " w10 " , w3NameSpace)
xa.Value = " urn:schemas-microsoft-com:office:word "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " SL " , w3NameSpace)
xa.Value = " http://schemas.microsoft.com/schemaLibrary/2003/2/core "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " aml " , w3NameSpace)
xa.Value = " http://schemas.microsoft.com/aml/2001/core "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " wx " , w3NameSpace)
xa.Value = " http://schemas.microsoft.com/office/word/2003/2/auxHint "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " o " , w3NameSpace)
xa.Value = " urn:schemas-microsoft-com:office:office "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " dt " , w3NameSpace)
xa.Value = " uuid:C2F41010-65B3-11d1-A29F-00AA00C14882 "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " space " , w3NameSpace)
xa.Value = " preserve "
root.Attributes.Append(xa)
Dim body As System.Xml.XmlNode = doc.CreateNode(System.Xml.XmlNodeType.Element, " v " , " body " , " urn:schemas-microsoft-com:vml " )
Dim childNode As System.Xml.XmlNode = doc.CreateNode(System.Xml.XmlNodeType.Element, " o " , " t " , " urn:schemas-microsoft-com:office:office " )
childNode.InnerText = " 欢迎光临【孟宪会之精彩世界】 "
body.AppendChild(childNode)
root.AppendChild(body)
doc.AppendChild(root)
Dim xd As System.Xml.XmlDeclaration = doc.CreateXmlDeclaration( " 1.0 " , " UTF-8 " , " yes " )
doc.InsertBefore(xd, doc.DocumentElement)
Dim spi As System.Xml.XmlProcessingInstruction = doc.CreateProcessingInstruction( " mso-application " , " progid=""Word.Document"" " )
doc.InsertBefore(spi, doc.DocumentElement)
Dim nsmanager As System.Xml.XmlNamespaceManager = New System.Xml.XmlNamespaceManager(doc.NameTable)
nsmanager.AddNamespace( " w " , " http://schemas.microsoft.com/office/word/2003/2/wordml " )
nsmanager.AddNamespace( " v " , " urn:schemas-microsoft-com:vml " )
nsmanager.AddNamespace( " o " , " urn:schemas-microsoft-com:office:office " )
Dim node As System.Xml.XmlNode = doc.SelectSingleNode( " w:wordDocument/v:body/o:t " , nsmanager)
Response.Write(node.InnerText)
node.InnerText = " 欢迎光临【孟宪会之精彩世界】:http://dotnet.aspx.cc/ "
Dim xcds As System.Xml.XmlCDataSection = doc.CreateCDataSection( " <a href='http://dotnet.aspx.cc/'>【孟宪会之精彩世界】</a> " )
node.ParentNode.InsertAfter(xcds, node)
Response.Write(xcds.InnerText)
doc.Save(Server.MapPath( " test.xml " ))
Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument
Dim root As System.Xml.XmlNode = doc.CreateNode(System.Xml.XmlNodeType.Element, " w " , " wordDocument " , " http://schemas.microsoft.com/office/word/2003/2/wordml " )
Dim xa As System.Xml.XmlAttribute
xa = doc.CreateAttribute( " xmlns " , " v " , w3NameSpace)
xa.Value = " urn:schemas-microsoft-com:vml "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " w10 " , w3NameSpace)
xa.Value = " urn:schemas-microsoft-com:office:word "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " SL " , w3NameSpace)
xa.Value = " http://schemas.microsoft.com/schemaLibrary/2003/2/core "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " aml " , w3NameSpace)
xa.Value = " http://schemas.microsoft.com/aml/2001/core "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " wx " , w3NameSpace)
xa.Value = " http://schemas.microsoft.com/office/word/2003/2/auxHint "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " o " , w3NameSpace)
xa.Value = " urn:schemas-microsoft-com:office:office "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " dt " , w3NameSpace)
xa.Value = " uuid:C2F41010-65B3-11d1-A29F-00AA00C14882 "
root.Attributes.Append(xa)
xa = doc.CreateAttribute( " xmlns " , " space " , w3NameSpace)
xa.Value = " preserve "
root.Attributes.Append(xa)
Dim body As System.Xml.XmlNode = doc.CreateNode(System.Xml.XmlNodeType.Element, " v " , " body " , " urn:schemas-microsoft-com:vml " )
Dim childNode As System.Xml.XmlNode = doc.CreateNode(System.Xml.XmlNodeType.Element, " o " , " t " , " urn:schemas-microsoft-com:office:office " )
childNode.InnerText = " 欢迎光临【孟宪会之精彩世界】 "
body.AppendChild(childNode)
root.AppendChild(body)
doc.AppendChild(root)
Dim xd As System.Xml.XmlDeclaration = doc.CreateXmlDeclaration( " 1.0 " , " UTF-8 " , " yes " )
doc.InsertBefore(xd, doc.DocumentElement)
Dim spi As System.Xml.XmlProcessingInstruction = doc.CreateProcessingInstruction( " mso-application " , " progid=""Word.Document"" " )
doc.InsertBefore(spi, doc.DocumentElement)
Dim nsmanager As System.Xml.XmlNamespaceManager = New System.Xml.XmlNamespaceManager(doc.NameTable)
nsmanager.AddNamespace( " w " , " http://schemas.microsoft.com/office/word/2003/2/wordml " )
nsmanager.AddNamespace( " v " , " urn:schemas-microsoft-com:vml " )
nsmanager.AddNamespace( " o " , " urn:schemas-microsoft-com:office:office " )
Dim node As System.Xml.XmlNode = doc.SelectSingleNode( " w:wordDocument/v:body/o:t " , nsmanager)
Response.Write(node.InnerText)
node.InnerText = " 欢迎光临【孟宪会之精彩世界】:http://dotnet.aspx.cc/ "
Dim xcds As System.Xml.XmlCDataSection = doc.CreateCDataSection( " <a href='http://dotnet.aspx.cc/'>【孟宪会之精彩世界】</a> " )
node.ParentNode.InsertAfter(xcds, node)
Response.Write(xcds.InnerText)
doc.Save(Server.MapPath( " test.xml " ))