C#对XML完整操作Word格式文档下载.docx

上传人:b****6 文档编号:18265102 上传时间:2022-12-14 格式:DOCX 页数:26 大小:25.83KB
下载 相关 举报
C#对XML完整操作Word格式文档下载.docx_第1页
第1页 / 共26页
C#对XML完整操作Word格式文档下载.docx_第2页
第2页 / 共26页
C#对XML完整操作Word格式文档下载.docx_第3页
第3页 / 共26页
C#对XML完整操作Word格式文档下载.docx_第4页
第4页 / 共26页
C#对XML完整操作Word格式文档下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C#对XML完整操作Word格式文档下载.docx

《C#对XML完整操作Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C#对XML完整操作Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。

C#对XML完整操作Word格式文档下载.docx

intnum=0;

foreach(XmlElementbirthdayindom.DocumentElement.ChildNodes)

{

//读取数据

stringtype=birthday.SelectSingleNode("

type"

).InnerText;

stringdate=birthday.SelectSingleNode("

date"

stringtitle=birthday.SelectSingleNode("

title"

stringname=birthday.SelectSingleNode("

name"

stringtext=name+"

:

"

+title;

//节点文字

stringimage=type;

//节点图片

stringdata=num.ToString();

//节点对应数据

num++;

//装载示例,将新建的节点添加到TreeView

TreeNodenode=newTreeNode(text,data,image);

//createanewnode

treeView.Nodes.Add(node);

//编辑示例:

将当前节点的生日更改为当前日期

birthday.SelectSingleNode("

).InnerText=DateTime.Now.ToString();

//删除示例:

将当前节点删除

birthday.ParentNode.RemoveChild(birthday);

}

dom.Save();

回答二

这是以前自己做过的一个测试。

楼主可以参考一下。

=======================bookstore.XML内容====================

encoding="

gb2312"

bookstore>

book>

/book>

bookgenre="

李赞红"

ISBN="

2-3631-4"

CS从入门到精通<

author>

候捷<

/author>

price>

58.3<

/price>

/bookstore>

=======================读取========================

XmlDocumentdoc=newXmlDocument();

doc.Load(@"

d:

\bookstore.xml"

XmlElementroot=doc.DocumentElement;

MessageBox.Show(root.SelectNodes("

book"

)[0].InnerText);

=======================添加=========================

XmlDocumentxmlDoc=newXmlDocument();

xmlDoc.Load(@"

XmlNoderoot=xmlDoc.SelectSingleNode("

bookstore"

//查找<

XmlElementxe1=xmlDoc.CreateElement("

//创建一个<

节点

xe1.SetAttribute("

genre"

"

//设置该节点的genre属性

ISBN"

//设置该节点的ISBN属性

XmlElementxesub1=xmlDoc.CreateElement("

//添加一个名字为title的子节点

xesub1.InnerText="

CS从入门到精通"

;

//设置文本

xe1.AppendChild(xesub1);

//把title添加到<

节点中

XmlElementxesub2=xmlDoc.CreateElement("

author"

xesub2.InnerText="

候捷"

xe1.AppendChild(xesub2);

XmlElementxesub3=xmlDoc.CreateElement("

price"

xesub3.InnerText="

58.3"

xe1.AppendChild(xesub3);

root.AppendChild(xe1);

//把book添加到<

根节点中

xmlDoc.Save(@"

======================修改========================

XmlNodeListnodeList=xmlDoc.SelectSingleNode("

).ChildNodes;

//获取bookstore节点的所有子节点

foreach(XmlNodexninnodeList)//遍历所有名字为bookstore的子节点

{

XmlElementxe=(XmlElement)xn;

//将子节点类型转换为XmlElement类型

if(xe.GetAttribute("

)=="

)//如果genre属性值为“李赞红”

xe.SetAttribute("

update李赞红"

//则修改该属性为“update李赞红”

XmlNodeListnls=xe.ChildNodes;

//继续获取xe(xn)子节点的所有子节点

foreach(XmlNodexn1innls)//遍历

XmlElementxe2=(XmlElement)xn1;

//转换类型

if(xe2.Name=="

)//如果找到

xe2.InnerText="

亚胜"

//则修改

break;

//找到退出来

}

//保存。

========================删除=========================

XmlNodeListxnl=xmlDoc.SelectSingleNode("

foreach(XmlNodexninxnl)

if(xe.GetAttribute("

fantasy"

xe.RemoveAttribute("

//删除genre属性

elseif(xe.GetAttribute("

xe.RemoveAll();

//删除该节点的全部内容

回答三

方法一:

使用XML控件

%@PageLanguage="

C#"

%>

html>

body>

h3>

fontface="

Verdana"

读取XML方法一<

/font>

/h3>

fromrunat=server>

asp:

Xmlid="

xml1"

DocumentSource="

grade.xml"

runat="

server"

/>

/from>

/body>

/html>

方法二:

使用DOM技术

%@ImportNamespace="

System.Xml"

System.Xml.Xsl"

scriptlanguage="

voidPage_Load(Objectsender,EventArgse)

{

XmlDocumentdoc=newXmlDocument();

doc.Load(Server.MapPath("

));

xml1.Document=doc;

}

/script>

读取XML方法二<

方法三:

使用DataSet对象

System.Data"

System.Data.OleDb"

DataSetobjDataSet=newDataSet();

objDataSet.ReadXml(Server.MapPath("

dgEmployees.DataSource=objDataSet.Tables["

student"

].DefaultView;

dgEmployees.DataBind();

读取XML方法三<

DataGridid="

dgEmployees"

方法四:

按文本方式读取

privatevoidPage_Load(Objectsender,EventArgse)

XmlTextReaderobjXMLReader=newXmlTextReader(Server.MapPath("

stringstrNodeResult="

XmlNodeTypeobjNodeType;

while(objXMLReader.Read())

objNodeType=objXMLReader.NodeType;

swith(objNodeType)

caseXmlNodeType.XmlDeclaration:

//读取XML文件头

strNodeResult+="

XMLDeclaration:

b>

+objXMLReader.Name+"

+objXMLReader.Value+"

/b>

br/>

caseXmlNodeType.Element:

//读取标签

Element:

caseXmlNodeType.Text:

//读取值

-Value:

//判断该节点是否有属性

if(objXMLReader.AttributeCount>

0)

{//用循环判断完所有节点

while(objXMLReader.MoveToNextAttibute)

{//取标签和值

-Attribute:

value:

LblFile.Text=strNodeResult;

读取XML方法四<

labelid="

LblFile"

回答四

我用的是一种很笨的方法,但可以帮助初学者了解访问XML节点的过程。

已知有一个XML文件(bookstore.xml)如下:

Corets, 

Eva 

5.95 

1、插入节点 

往节点中插入一个节点:

XmlDocument 

xmlDoc=new 

XmlDocument();

xmlDoc.Load("

bookstore.xml"

XmlNode 

root=xmlDoc.SelectSingleNode("

//查找 

XmlElement 

xe1=xmlDoc.CreateElement("

//创建一个节点 

xe1.SetAttribute("

,"

//设置该节点genre属性 

//设置该节点ISBN属性 

xesub1=xmlDoc.CreateElement("

xesub1.InnerText="

//设置文本节点 

xe1.AppendChild(xesub1);

//添加到节点中 

xesub2=xmlDoc.CreateElement("

xesub2.InnerText="

xe1.AppendChild(xesub2);

xesub3=xmlDoc.CreateElement("

xesub3.InnerText="

xe1.AppendChild(xesub3);

root.AppendChild(xe1);

xmlDoc.Save("

结果为:

候捷 

58.3 

2、修改节点:

将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点的文本修改为“亚胜”。

XmlNodeList 

nodeList=xmlDoc.SelectSingleNode("

//获取bookstore节点的所有子节点 

foreach(XmlNode 

xn 

in 

nodeList)//遍历所有子节点 

xe=(XmlElement)xn;

//将子节点类型转换为XmlElement类型 

if(xe.GetAttribute("

)=="

)//如果genre属性值为“李赞红” 

xe.SetAttribute("

//则修改该属性为“update李赞红” 

nls=xe.ChildNodes;

//继续获取xe子节点的所有子节点 

xn1 

nls)//遍历 

xe2=(XmlElement)xn1;

//转换类型 

if(xe2.Name=="

)//如果找到 

xe2.InnerText="

//则修改 

break;

//找到退出来就可以了 

最后结果为:

亚胜 

3、删除节点 

节点的genre属性,删除 

节点。

xnl=xmlDoc.SelectSingleNode("

xnl) 

) 

xe.RemoveAttribute("

//删除genre属性 

else 

xe.RemoveAll();

//删除该节点的全部内容 

4、显示所有数据。

xn=xmlDoc.SelectSingleNode("

xnl=xn.ChildNodes;

xnf 

xe=(XmlElement)xnf;

Console.WriteLine(xe.GetAttribute("

//显示属性值 

xnf1=xe.ChildNodes;

xn2 

xnf1) 

Console.WriteLine(xn2.InnerText);

//显示子节点点文本 

loading... 

2005-10-3 

一个通过DataSet操作XML的类(源代码) 

using 

System;

System.Data;

System.Xml;

System.Windows.Forms;

//*************************************** 

// 

作者:

∮明天去要饭 

QICQ:

305725744 

.Net群:

6370988 

namespace 

YSTRP.Common 

/// 

OperateXmlByDataSet 

的摘要说明。

public 

class 

OperateXmlByDataSet() 

TODO:

在此处添加构造函数逻辑 

#region 

GetDataSetByXml 

读取xml直接返回DataSet 

xml文件相对路径 

static 

DataSet 

GetDataSetByXml(string 

strXmlPath) 

try 

ds 

new 

DataSet();

ds.ReadXml(GetXmlFullPath(strXmlPath));

if(ds.Tables.Count 

0) 

return 

ds;

null;

catch(Exception 

ex) 

System.Windows.Forms.MessageBox.Show(ex.ToString());

#endregion 

GetDataViewByXml 

读取Xml返回一个经排序或筛选后的DataView 

筛选条件,如:

name 

'kgdiwss'"

排序条件,如:

Id 

desc"

DataView 

GetDataViewByXml(string 

strXmlPa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1