VB NET与XML之间的操作
利用VB操作XML数据

利用VB操作XML数据在VB中,有几种方法可以操作XML数据。
下面将介绍一些常用的方法:1. 创建XML文档:可以使用XMLTextWriter类或XDocument类来创建XML文档。
使用XMLTextWriter类:```vbDim writer As New XmlTextWriter("C:\path\to\file.xml", System.Text.Encoding.UTF8)writer.WriteStartDocument(True)writer.Formatting = Formatting.Indentedwriter.Indentation = 2writer.WriteStartElement("RootElement")writer.WriteEndElementwriter.WriteEndDocumentwriter.Close```使用XDocument类:```vbDim doc As XDocument = New XDocumentNew XDeclaration("1.0", "utf-8", "yes"),New XElement("RootElement")doc.Save("C:\path\to\file.xml")```2. 读取XML文档:可以使用XmlDocument类、XmlReader类或XDocument类来读取XML文档。
使用XmlDocument类:```vbDim doc As New XmlDocumentdoc.Load("C:\path\to\file.xml")Dim root As XmlNode = doc.SelectSingleNode("RootElement")```使用XmlReader类:```vbDim reader As XmlReader =XmlReader.Create("C:\path\to\file.xml")While reader.ReadIf reader.NodeType = XmlNodeType.Element AndAlso = "RootElement" Then'处理根元素End IfEnd Whilereader.Close```使用XDocument类:```vbDim doc As XDocument = XDocument.Load("C:\path\to\file.xml") Dim root As XElement = doc.Element("RootElement")```使用XmlDocument类:```vbDim doc As New XmlDocumentdoc.Load("C:\path\to\file.xml")Dim root As XmlNode = doc.SelectSingleNode("RootElement")Dim childElement As XmlElement =doc.CreateElement("ChildElement")Dim attribute As XmlAttribute =doc.CreateAttribute("AttributeName")attribute.Value = "AttributeValue"childElement.Attributes.Append(attribute)root.AppendChild(childElement)doc.Save("C:\path\to\file.xml")```使用XmlReader类:```vbDim reader As XmlReader =XmlReader.Create("C:\path\to\file.xml")While reader.ReadIf reader.NodeType = XmlNodeType.Element AndAlso = "RootElement" ThenDim childElement As XmlWriter =reader.CreateElement("ChildElement")writer.WriteAttributeString("AttributeName", "AttributeValue")writer.WriteEndElementEnd IfEnd Whilereader.Close```使用XDocument类:```vbDim doc As XDocument = XDocument.Load("C:\path\to\file.xml") doc.Root.Add(New XElement("ChildElement", NewXAttribute("AttributeName", "AttributeValue")))doc.Save("C:\path\to\file.xml")```以上是操作XML数据的一些基本方法,可以根据需求进行扩展。
vb.net xml 转义方法

程序员经常需要在其应用程序中处理XML数据。
在处理XML 数据时,转义是一个非常重要的问题。
XML转义是指将XML文件中的特殊字符转换为对应的实体引用,以便在XML文档中正常显示这些特殊字符。
本文将介绍如何在中进行XML转义,同时提供一些常见的转义方法和示例。
一、特殊字符的转义方法在XML中,以下五个字符被定义为特殊字符:、<、>、"和'。
这些特殊字符如果直接出现在XML文档中,将会被解释为XML标记,而不是文本数据。
需要将这些特殊字符转义为对应的实体引用,以便在XML文档中正常显示。
下面是五个特殊字符在XML中的实体引用:1. 转义为 amp;2. < 转义为 lt;3. > 转义为 gt;4. " 转义为 quot;5. ' 转义为 apos;二、在中进行XML转义在中进行XML转义非常简单。
可以使用System.Security.SecurityElement.Escape方法来对字符串进行XML 转义。
该方法可以将字符串中的特殊字符替换为对应的实体引用。
示例代码如下所示:```Dim originalString As String = "This is a lt;testgt; string with quot;specialquot; characters"Dim escapedString As String =System.Security.SecurityElement.Escape(originalString) Console.WriteLine(escapedString)```运行以上代码,会得到如下输出:```textThis is a amp;lt;testamp;gt; string withamp;quot;specialamp;quot; characters```从输出结果可以看出,原始字符串中的特殊字符已经被成功转义为对应的实体引用。
第10章 用VBNET访问XML文档

Dim Conn As SqlConnection Dim selectCMD As SqlCommand SqlConnection=New SqlConnection(connString) SqlCommand=New SqlCommand("SELECT BookISBN,BookName,Price,Qty FROM Book where Qty<5 and ProviderID='Jh2007'", Conn) Dim BookDA As SqlDataAdapter = New SqlDataAdapter BookDA.SelectCommand = selectCMD Conn.Open() Dim BookDS As DataSet = New DataSet BookDA.Fill(BookDS, "book") BookDS.WriteXml("books.xml")
常用的XmlDocument类的方法或属性
常用来更新DOM树内容的XmlElement类方法或属性
用来导航的XmlElement类的方法或属性
第三单元 数据集与XML文档
数据集实际上是以XML形式表示的一种数据关 系视图。 因此,数据集DataSet类有用于读写XML的方法,使用 DataSet 对象的 ReadXml 方法,可以用XML中的数据填 充 DataSet,使用 DataSet 对象的 WriteXml 方法,可以 DataSet中有数据写入XML文档中。
第10章 用访问XML文档
第一单元 XML文 档
可扩展标记语言(XML) 提供一组描述结构化数据的规范, XML文档就是遵守XML规范的文本格式文档,由多对标记 及标记内容构成,包含有以下项目:
VB.NET读写XML配置文件

读写XML配置⽂件XML配置⽂件代替INI()Imports System.DataPublic Class CLSReadXMLPrivate servername As String'服务器名Private Dbname As String'数据库名称Private Uid As String'数据库⽤户名Private pwd As String'数据库密码Private DSXml As New DataSetPrivate Xpath As String'Xml⽂件路径Sub New(ByVal str As String)Xpath = str'获得xml⽂件存储路径End Sub#Region "属性⽤于写⼊和得到xml⽂件内容的属性"Public Property Getserver()GetReturn servernameEnd GetSet(ByVal Value)servername = ValueEnd SetEnd PropertyPublic Property Getdbname()GetReturn DbnameEnd GetSet(ByVal Value)Dbname = ValueEnd SetEnd PropertyPublic Property Getpwd()GetReturn pwdEnd GetSet(ByVal Value)pwd = ValueEnd SetEnd PropertyPublic Property GetdUid()GetReturn UidEnd GetSet(ByVal Value)Uid = ValueEnd SetEnd Property#End Region#Region "⽅法读写xml⽂件的⽅法当xml⽂件不存在时⾃动创建⼀xml⽂件"'读取xml⽂件内容Public Function ReadXml() As BooleanTryDSXml.ReadXml(Xpath)servername = DSXml.Tables(0).Rows(0)("server")Dbname = DSXml.Tables(0).Rows(0).Item("Dbname")Uid = DSXml.Tables(0).Rows(0).Item("uid")pwd = DSXml.Tables(0).Rows(0).Item("pwd")Return TrueCatch ex As ExceptionThrow exReturn FalseEnd TryEnd Function'如果xml⽂件不存在的时候创建⼀xml⽂件Public Function WriteXml() As BooleanDim DT As New DataTableTryDSXml.Tables.Clear()DSXml.Clear()'给定table列框架DT.Columns.Add("server", GetType(String))Dt.Columns.Add("DBname", GetType(String))Dt.Columns.Add("uid", GetType(String))Dt.Columns.Add("pwd", GetType(String))Dim DR As DataRowDR = Dt.NewRowDR.Item("server") = servername DR.Item("DBname") = Dbname DR.Item("uid") = UidDR.Item("pwd") = pwdDt.Rows.Add(DR)DSXml.Tables.Add(Dt)DSXml.AcceptChanges()DSXml.WriteXml(Xpath)Return TrueCatch ex As ExceptionThrow exReturn FalseEnd TryEnd Function#End RegionEnd Class。
VB.NET读取写入XML文件

读取写入XML文件Public Class CSysXMLDim mXmlDoc As New System.Xml.XmlDocumentPublic XmlFile As StringPublic Sub New(ByVal File As String)MyClass.XmlFile = FileMyClass.mXmlDoc.Load(MyClass.XmlFile) '加载配置文件End Sub'功能:取得元素值'参数:node--节点 element--元素名'返回:元素值字符型' $--表示出错误Public Function GetElement(ByVal node As String, ByVal element As String) As StringOn Error GoTo ErrDim mXmlNode As System.Xml.XmlNode = mXmlDoc.SelectSingleNode("//" + node)'读数据Dim xmlNode As System.Xml.XmlNode = mXmlNode.SelectSingleNode(element)Return xmlNode.InnerText.T oStringErr:Return "$"End Function''功能:保存元素值'参数:node--节点名称 element--元素名 val--值'返回:True--保存成功 False--保存失败Public Function SaveElement(ByVal node As String, ByValelement As String, ByVal val As String) As BooleanOn Error GoTo errDim mXmlNode As System.Xml.XmlNode = mXmlDoc.SelectSingleNode("//" + node)Dim xmlNodeNew As System.Xml.XmlNodexmlNodeNew = mXmlNode.SelectSingleNode(element)xmlNodeNew.InnerText = valmXmlDoc.Save(MyClass.XmlFile)Return Trueerr:Return FalseEnd FunctionEnd Class例如:XML:192.168.0.6程序调用:Public Class Form1Dim xml As New CSysXML("IP.xml")Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim str As String = xml.GetElement("IP", "num")TextBox1.Text = strEnd SubEnd Class。
VB和VB_NET中的XML操作

2. 数据交换和数据整合,这是XML最激动人心的应用。
3. 媒体无关的数据发布
4. 智能代理和本地计算
5. 精确搜索
6. 文件保值
XML的语法非常的简单,XML文档由节点组成,使用打开和关闭节点描述标记,在格式上与HTML标记非常相似,它们之间最大的不同是:XML中可以自由定义标记名。比如下面的标记就描述了一个主页地址:
概述:这篇文章为计划将他们的应用程序更新到Visual 的微软Visual Basic 开发用户提供一些关于XML的建议。主要包括Visual Basic 6和Visual 对XML操作的不同之处,以及Visual 关于这方面新增工具的应用。 概述:这篇文章为计划将他们的应用程序更新到Visual 的微软Visual Basic 开发用户提供一些关于XML的建议。主要包括Visual Basic 6和Visual 对XML操作的不同之处,以及Visual 关于这方面新增工具的应用。
扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立。XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,可以说,“没有XML,就没有编程的未来”。
XML主要应用在以下几个方面:
1. 设计标记语言,如CML,MathML, WML等。
<web></web>
注意别大小写的,所以标记的大小写也必须相同。
节点标记中可以包含属性,比如:
<web type=”Homepage”></web>
以上只是对XML文档的简单描述,如何使用文档中包含的信息,XML标准体系中有其他的配套标准。
代码中Web节点包含属性Type,其值为Homepage.
VB.NET与XML的实例操作

与XML的实例操作再建⽴项⽬的⽂件夹的bin⽂件夹下 '创建两个⽂件 '⼀个是"myxml.xml" '⼀个是"myxml.mdb" '这⾥⾯有⼀个表"users"三个字段名"nameid","age","faverity" '再转到图形界⾯ '单击"⼯具箱"的"数据"把"OleDbConnection"," OleDbComman","DataSet","OleDbDataAdapter" '拉⼊窗体界⾯ '依次对这⼏个控件进⾏操作 '我的⽂件夹是D:\vbproject\WindowsApplication1 'D:\vbproject\WindowsApplication1/bin/myxml.xml 'D:\vbproject\WindowsApplication1/bin/myxml.mdb //======================准备结束============== (1)⾸先在机⼦上要有.Net FrameWork 打开依次展开:⽂件-新建-项⽬; 再选择VISUAL-BASIC-项⽬-Windows应⽤程序 这就是所需要⼀个⼩界⾯ 现在⼀步步的来写代码,完成它的功能 ⾸先来完成添加功能: 我们⽬标是:通过这三个⽂本框(姓名,年龄,爱好)来添加到数据库中。
然后再把这个数据库的表保存成XML格式 双击"添加"按钮 在⾥⾯写下以下这些代:(VB写的语⾔,不是C#) If TextBox1.Text <> "" And TextBox2.Text <> "" And TextBox3.Text <> "" Then '在三个⽂本框都不为空时,执⾏以下操作, '否则出错 Dim strsel As String strsel = "select * from users where nameid='" & TextBox1.Text & "'" '建⽴⼀个查询字符串,看要要添加的姓名,是否已在数据中存在,如果不存在就可以添加 OleDbCommand1 = New OleDbCommand mandText = strsel Me.OleDbCommand1.Connection = OleDbConnection1 OleDbConnection1.Open() Try '进⾏异常处理 Dim reader As OleDbDataReader = OleDbCommand1.ExecuteReader() If reader.Read() Then '通过DataReader来读取,如果读得到,表明数据在有这个姓名存在,不添加; ListBox1.Items.Add("已经有该记录!") Else reader.Close() '要对数据库进⾏操作,⾸先把DataReader关掉; Dim insert As String insert = "insert into users(nameid,age,faverity) values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "')" '建⽴⼀个插⼊字符串 OleDbCommand1 = New OleDbCommand mandText = insert Me.OleDbCommand1.Connection = Me.OleDbConnection1 Me.OleDbCommand1.ExecuteNonQuery() ListBox1.Items.Add("添加成功!!") '以下是把数据库的数据保存为XML格式 DataSet1 = New DataSet OleDbDataAdapter1 = New OleDbDataAdapter("select * from users", OleDbConnection1) OleDbDataAdapter1.Fill(DataSet1, "users") DataSet1.WriteXml("myxml.xml") End If Catch ex As Exception ListBox1.Items.Add("Errors!") End Try OleDbConnection1.Close() Else MessageBox.Show("请输⼊完整!!") End If //==================接下来是对数据库进⾏查询=================== '双击"查找"按钮 '写⼊以下代码 If TextBox4.Text <> "" Then '还是和上⾯⼀样如果⽂本框为空,就不执⾏,如果不为空,就执⾏下⾯的操作 ListBox1.Items.Clear() '⾸先把listBox清空 Dim searchtext As String searchtext = TextBox4.Text OleDbConnection1.Open() Dim selstring As String selstring = "select * from users where nameid like '%" & searchtext & "%'" ' 建⽴查询字符串,可以⽀持模糊查询 OleDbCommand1 = New OleDbCommand mandText = selstring Me.OleDbCommand1.Connection = OleDbConnection1 '以下⼏句是显⽰匹配的条数 DataSet1 = New DataSet OleDbDataAdapter1 = New OleDbDataAdapter(selstring, OleDbConnection1) OleDbDataAdapter1.Fill(DataSet1, "users") ListBox1.Items.Add("共有" & DataSet1.Tables("users").Rows.Count & "条匹配的记录") ListBox1.Items.Add("-------------------------------------------------------------") Try '进⾏异常处理 Dim cmdreader As OleDbDataReader = OleDbCommand1.ExecuteReader() While cmdreader.Read '注意这⾥要⽤while '不然就⽆法进⾏循环,就只能进⾏⼀次查询 ListBox1.Items.Add(cmdreader("nameid").ToString()) ListBox1.Items.Add(cmdreader("age").ToString()) ListBox1.Items.Add(cmdreader("faverity").ToString()) ListBox1.Items.Add("----------------------------------") End While cmdreader.Close() OleDbConnection1.Close() Catch ex As Exception ListBox1.Items.Add("Errors") End Try Else End If //================再把来XML⽂档,以XML形式显⽰在ListBox⾥⾯ 双击"XML⽂档" 写进下⾯这些代码: ListBox1.Items.Clear() ' 清空listBox Dim xtr As XmlTextReader = New XmlTextReader("myxml.xml") '创建成⼀个XmlTextReader读取"myxml.xml"⽂档 While xtr.Read Select Case (xtr.NodeType) ' 咱们⽤select case 形式来选择xml节点类型 Case XmlNodeType.XmlDeclaration '先从ListBox⾥写进xml声明=====xmldeclaration ListBox1.Items.Add("<?xml version='1.0' encoding='gb2312'?>") '再依次显⽰节点的名称,值 '包括根节点 Case XmlNodeType.Element ListBox1.Items.Add("<" & & ">") Case XmlNodeType.Text ListBox1.Items.Add(xtr.Value) Case XmlNodeType.EndElement ListBox1.Items.Add("</" & & ">") End Select End While xtr.Close() '关闭xmlTextReader //========再把数据库中所有数据显⽰在ListBox中======== '双击"查看全部"按钮 '写⼊下⾯的⼀些代码: ListBox1.Items.Clear() '这些代码⼤家应该可以看得懂了 OleDbConnection1.Open() Dim selall As String selall = "select * from users" OleDbCommand1 = New OleDbCommand mandText = selall Me.OleDbCommand1.Connection = OleDbConnection1 Try Dim creader As OleDbDataReader = OleDbCommand1.ExecuteReader() While creader.Read ListBox1.Items.Add("name: " & creader("nameid").ToString() & "; age :" & creader("age").ToString() & "; faverity :" & creader("faverity").ToString()) End While creader.Close() Catch ex As Exception ListBox1.Items.Add("Errors") End Try OleDbConnection1.Close() //==========================再来进完成删除按钮================= '双击"删除"按钮 '写⼊以下的代码 If TextBox4.Text <> "" Then '如果不为空,进⾏以下操作 ListBox1.Items.Clear() '先清空ListBox OleDbConnection1.Open() ' 建⽴连接 Dim delstring As String delstring = TextBox4.Text Dim delsel As String delsel = "select * from users where nameid='" & delstring & "'" '创建查询字符串 OleDbCommand1 = New OleDbCommand mandText = delsel Me.OleDbCommand1.Connection = OleDbConnection1 Try Dim selreader As OleDbDataReader = OleDbCommand1.ExecuteReader() If Not selreader.Read Then '假如读不到,就表明数据库⽆此数据,⽆法进⾏删除操作 MessageBox.Show("数据库中⽆该记录!") Else selreader.Close() '要对数据进⾏操作,必须⾸把DataReader关掉 Dim delrecord As String delrecord = "delete * from users where nameid='" & delstring & "'" '建⽴删除字符串sql语句,以上都是 OleDbCommand1 = New OleDbCommand mandText = delrecord Me.OleDbCommand1.Connection = OleDbConnection1 Me.OleDbCommand1.ExecuteNonQuery() MessageBox.Show("删除成功!!") '再把进⾏删除操作的数据库,再次把数据库中数据保存成XML⽂档 DataSet1 = New DataSet OleDbDataAdapter1 = New OleDbDataAdapter("select * from users", OleDbConnection1) OleDbDataAdapter1.Fill(DataSet1, "users") DataSet1.WriteXml("myxml.xml") End If Catch ex As Exception MessageBox.Show(ex.Message) Finally OleDbConnection1.Close() End Try Else MessageBox.Show("请输⼊你想删除的记录!") End If //======================= 重设按钮===== TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" ListBox1.Items.Clear() //============================关闭=============== me.Close() '好了这个⼩软件完成了,有问题的话留⾔ '本程序在.net framework 2003创建 '已经进⾏过测试,完全可以运⾏。
vb读取xml文件方法

vb读取xml文件方法标题:VB 读取 XML 文件方法嘿,朋友!今天我要跟你唠唠怎么用 VB 读取 XML 文件,这可是个超有用的技能,学会了你就牛啦!首先呢,你得准备好 VB 这个工具,就像战士上战场得有把好枪一样。
第一步,打开你的 VB 编辑器,这就好比打开了一扇通往神奇世界的大门。
然后新建一个项目,给它起个响亮的名字,比如“XML 读取大冒险”。
接下来,在代码窗口中,你得引用一些必要的库。
这就好像给你的程序穿上一套超级装备,让它能在读取 XML 文件的战场上勇往直前。
引用的代码就像这样:```vbImports System.Xml```这一步可别忘了,不然你的程序可能会像没头的苍蝇一样乱撞。
然后呢,咱们得找到要读取的 XML 文件。
就好比你要去一个宝藏之地,得先知道它在哪儿。
假设你的 XML 文件叫“data.xml”,放在了“D:\myfiles”这个文件夹里。
再然后,就是真正读取文件的时刻啦!这一步就像是打开宝箱的关键钥匙。
代码大概像下面这样:```vbDim xmlDoc As New XmlDocumentxmlDoc.Load("D:\myfiles\data.xml")```这时候,VB 就把 XML 文件的内容都装进了“xmlDoc”这个大口袋里。
读取完了文件,接下来就得从这个大口袋里掏出咱们想要的宝贝啦!比如说,你想要获取 XML 文件中的某个节点的值。
这就好比在一个装满各种东西的大箱子里找你心心念念的那个小玩具。
假设你要找的节点叫“<user>”,那获取节点值的代码可以是这样:```vbDim node As XmlNode = xmlDoc.SelectSingleNode("//user")Dim value As String = node.InnerText```看,是不是像变魔术一样,就把节点的值给弄到手啦!我跟你说,我刚开始学这的时候,可闹了不少笑话。
VB.net学习笔记(二十一)XML流的读写

学习笔记(二十一)XML流的读写System.Xml名称空间支持XML的处理,为了生成和浏览XML文档,使用两种访问方式:一、读写方式(一)基于流的方式特点:速度快,可连续读写,缺点不能作为节点、元素等进行操作,常用于套接字或文件中获取XML文档。
(二)基于文档对象模型(DOM)的方式特点:使用实体(节点、元素和特性)访问,定位灵活,但速度慢,是存储、读取程序设置首选。
(速度慢是因为XML需加载到DOM,故先要将整个文件加载到内存中)二、基于流的XML读写以仅前向的(forward-only)方式读取一块XML,且仅在内存中保存当前节。
流方式时,程序总是指向文档中的当前节点。
(一)XML基本认知XML以元素(结点)来传输和存储数据,各标签成对出现,大小写敏感,严格对齐。
例:XML文档如下:[vb] view plain copyprint?1.<?xml version="1. 0" encoding="utf-8"?>2.<FilmOrder filmId="101”>3.<Name>Grease</Name>4.<Quantity>10</Quantity>5.</FilmOrder>上面XML对应的元素及节点如下:【元素】【节点】XmlDeclaration <?xml version="1.0" encoding="utf-8"?> XmlAttribute Version XML 数据中的元素属性XmlAttribute EncodingXmlElement FilmOrder DOM结构中的元素(节点)XmlAttribute FilmIdXmlElement NameXmlText Grease 文本内容XmlElement NameXmlElement QuantityXmlText 10 文本内容XmlEndElement QuantityXmlWhitespace NothingXmlEndElement FilmOrder(二)XML流的读写访问XML流(读取XML)和生成XML流(写入XML)都包含在System.Xml中。
VB.Net创建XML文件的方法

创建XML文件的方法下面所写方法是在网络资料的基础上,经过自己的实验而得出的。
使用创建XML文件有两种方法,下面逐一介绍:假设要创建如下的XML文件:1.<?xml version="1.0" encoding="UTF-8"?>2.<root>3.<Header>4.<row>5.<CRRNum/>6.<RequestedBy/>7.<CustomerNum/>8.</row>9.</Header>10.<Details>11.<row>12.<ItemCode />13.<ItemName />14.<SerialNum />15.<Warehouse />16.</row>17.</Details>18.</root>方法1:首先声明一个XmlDocument对象:1.Dim xmlReport As XmlDocument2.xmlReport = New XmlDocument其次通过XmlDocument.LoadXML来获得这个XML的初始结构,包括:Version,Encoding和根节点:1.xmlReport.LoadXML("<?xml version=""1.0"" encoding="" UTF-8""?><root/>")这样xmlReport就获得了初始结构了。
剩下的工作就是要声明XmlNode对象,逐级的使用XmlNode.AppendChild方法将各个节点串接起来,具体的程序如下:1.Dim xmlNode As XmlNode2.Dim xmlHeader As XmlNode3.Dim xmlDetail As XmlNode4.Dim xmlRow As XmlNode5.xmlHeader = xmlReport.CreateNode(XmlNodeType.Elem ent, "Header", "")6.xmlRow = xmlReport.CreateNode(XmlNodeType.Element, "row", "")7.xmlNode = xmlReport.createElement_x("CRRNum")8.xmlRow.AppendChild(xmlNode)9.xmlNode = xmlReport.createElement_x("RequestedBy")10.xmlRow.AppendChild(xmlNode)11.xmlNode = xmlReport.createElement_x("CustomerNu m")12.xmlRow.AppendChild(xmlNode)13.xmlHeader.AppendChild(xmlRow)14.xmlRoot.AppendChild(xmlHeader)15.xmlDetail = xmlReport.CreateNode(XmlNodeType.Ele ment, "Details", "")16.xmlRow = xmlReport.CreateNode(XmlNodeType.Elem ent, "row", "")17.xmlNode = xmlReport.createElement_x("ItemCode")18.xmlRow.AppendChild(xmlNode)19.xmlNode = xmlReport.createElement_x("ItemName")20.xmlRow.AppendChild(xmlNode)21.xmlNode = xmlReport.createElement_x("SerialNum")22.xmlRow.AppendChild(xmlNode)23.xmlDetail.AppendChild(xmlRow)24.xmlRoot.AppendChild(xmlDetail)25.xmlReport.AppendChild(xmlRoot)方法2:与方法一的主要区别就是,完全使用XML命名空间中的对象来创建,我本人更倾向于这种方法。
VBNet中用XML替代INI配置功能的完整教程

中用XML替代INI配置功能的完整教程一、前言 (1)二、内容 (1)第一步:新建一个项目 (1)第二步:新建一个类 (1)第三步:写类代码 (1)第四步:调用 (5)第五步:测试 (6)三、尾声 (7)四、附:实例 (7)一、前言众所周知,xml文件很强大,从某种程度上说它完全替代ini也不为过,网上也有许多用编写xml文件的实例,但几乎找不到一个完整的xml替代ini的实例(也许是我太菜?),于是自己写了一个XML替代INI配置功能的完整类(当然,也可以改为模块),通过该类,创建、调用一个xml配置文件可以像VB6.0中配置INI文件一样简简单单,在Microsoft Visual Studio 2012中测试通过,好了,废话不多说,看文!二、内容第一步:新建一个项目首先,打开,新建一个项目,这不用说了吧^_^,咱现在是演示,一切命名都按默认的吧。
接着,新建一个类,还是默认命名(注意是类,不是模块)。
第三步:写类代码重点的代码来了,在类中写入以下代码:==================== 代码开始,勿复制本行 ====================Imports System.IOImports System.XmlPublic Class Class1'**************************************************'**模块名:XML_操作'**作用:完整替代 ini 的 xml 操作类'**创建人:灵魂的缠绵'**日期:2013-7-14'**************************************************#Region"变量声明区"Public Shared Root As String = .AssemblyName#End Region#Region"XML_创建"''' <summary>''' 【创建一个XML文档】''' 根据[XML文件路径]创建''' </summary>''' <param name="XmlPath">XML文件路径</param>''' <remarks></remarks>Public Shared Function XML_Create(ByVal XmlPath As String)TryDim XmlWrite As New System.Xml.XmlTextWriter(XmlPath, System.Text.Encoding.GetEncoding("GB2312"))XmlWrite.Formatting = System.Xml.Formatting.Indented '自动缩进XmlWrite.WriteStartDocument(True) '开始一个文档自动编写版本并具有独立属性的XML声明XmlWrite.WriteStartElement(Root) '开始根元素XmlWrite.WriteEndElement() '关闭根元素XmlWrite.WriteEndDocument() '文档结束XmlWrite.Flush() '刷新XmlWrite.Close() '关闭Return TrueCatch ex As ExceptionReturn FalseMsgBox(Err.Description)End TryEnd Function#End Region#Region"XML_读写_公共"''' <summary>''' 【XML_读写_公共】''' 根据[读写状态]判断[读][写]操作''' 有完整的[父、子节点]就改写[子节点]内容''' 否则创建,并根据[节点预设值]写[子节点]内容''' </summary>''' <param name="ReadWrite_Condition">读写状态</param>''' <param name="XmlNodeF">父节点</param>''' <param name="XmlNodeZ">子节点</param>''' <param name="XmlNodeN">节点内容</param>''' <param name="XmlNodeY ">节点预设值</param>''' <param name="XmlPath">XML文件路径</param>''' <remarks></remarks>Public Shared Function XML_ReadWrite_Common(ByVal ReadWrite_Condition As Boolean, ByVal XmlNodeF As String, ByVal XmlNodeZ As String, ByVal XmlNodeN As String, ByVal XmlNodeY As String, ByVal XmlPath As String) As StringTryXML_ReadWrite_Common = NothingIf File.Exists(XmlPath) = False Then Call XML_Create(XmlPath) 'XML文件不存在就创建Dim VE As Boolean = Nothing'设置一个值用于判断是否[读取]的情况下[写入]Dim XmlDoc As New Xml.XmlDocument()XmlDoc.Load(XmlPath)Dim New_Root As Xml.XmlNode = XmlDoc.SelectSingleNode(Root)Dim New_XmlNodeF As Xml.XmlElement = NothingDim New_XmlNodeZ As Xml.XmlElement = NothingIf XmlNodeN Is Nothing Then XmlNodeN = XmlNodeYDim NodePathF As System.Xml.XmlNode = XmlDoc.SelectSingleNode(Root & "/" & XmlNodeF)If NodePathF Is Nothing Then'[父节点]不存在创建一个从[父节点]开始的完整的节点New_XmlNodeF = XmlDoc.CreateElement(XmlNodeF)New_XmlNodeZ = XmlDoc.CreateElement(XmlNodeZ)New_XmlNodeZ.InnerText = XmlNodeNNew_XmlNodeF.AppendChild(New_XmlNodeZ)New_Root.AppendChild(New_XmlNodeF)VE = TrueIf ReadWrite_Condition = True Then XML_ReadWrite_Common = XmlNodeYElse'[父节点]存在判断[子节点]是否存在Dim NodePathZ As System.Xml.XmlNode = XmlDoc.SelectSingleNode(Root & "/" & XmlNodeF & "/" & XmlNodeZ)If NodePathZ Is Nothing Then'[子节点]不存在创建一个从[子节点]开始的完整的节点New_XmlNodeZ = XmlDoc.CreateElement(XmlNodeZ)New_XmlNodeZ.InnerText = XmlNodeNNew_Root.SelectSingleNode(XmlNodeF).AppendChild(New_XmlNodeZ)If ReadWrite_Condition = True Then XML_ReadWrite_Common = XmlNodeYElse'[子节点]存在判断是读取还是写入If ReadWrite_Condition = True Then'当[读写状态]为[读]时If VE = True Then'在[读]时[写]入'读取的值为预设值XML_ReadWrite_Common = XmlNodeYElse'读取的值为[子节点]的值XML_ReadWrite_Common = New_Root.SelectSingleNode(XmlNodeF).SelectSingleNode(XmlNodeZ).InnerTextEnd IfElse'当[读写状态]为[写]时New_Root.SelectSingleNode(XmlNodeF).SelectSingleNode(XmlNodeZ).InnerText = XmlNodeNEnd IfEnd IfEnd IfxmlDoc.Save(XmlPath) '保存Catch ex As ExceptionReturn FalseMsgBox(Err.Description)End TryEnd Function#End Region#Region"XML_读取"''' <summary>''' 【读取节点】''' 根据[父节点]和[子节点]定位''' 如果[子节点]不存在或无任何内容则根据[节点预设值]创建''' </summary>''' <param name="XmlNodeF">父节点</param>''' <param name="XmlNodeZ">子节点</param>''' <param name="XmlNodeY">节点预设值</param>''' <param name="XmlPath">XML文件路径</param>''' <remarks></remarks>Public Shared Function XML_Read(ByVal XmlNodeF As String, ByVal XmlNodeZ As String, ByVal XmlNodeY As String, ByVal XmlPath As String) As StringTryXML_Read = XML_ReadWrite_Common(True, XmlNodeF, XmlNodeZ, Nothing, XmlNodeY, XmlPath) Catch ex As ExceptionReturn FalseMsgBox(Err.Description)End TryEnd Function#End Region#Region"XML_写入"''' <summary>''' 【写节点】''' 根据[父节点]和[子节点]定位''' 如果[子节点]不存在或无任何内容则根据[节点内容]创建,存在则根据[节点内容]覆盖原数据''' </summary>''' <param name="XmlNodeF">父节点</param>''' <param name="XmlNodeZ">子节点</param>''' <param name="XmlNodeN">节点内容</param>''' <param name="XmlPath">XML文件路径</param>''' <remarks></remarks>Public Shared Function XML_Write(ByVal XmlNodeF As String, ByVal XmlNodeZ As String, ByVal XmlNodeN As String, ByVal XmlPath As String)TryCall XML_ReadWrite_Common(False, XmlNodeF, XmlNodeZ, XmlNodeN, Nothing, XmlPath)Return TrueCatch ex As ExceptionReturn FalseMsgBox(Err.Description)End TryEnd Function#End RegionEnd Class==================== 代码结束,勿复制本行 ====================好了,这样类就写好了,为了便于审阅,单击左边的“-”将各功能代码折叠起来第四步:调用最后,可以调用了,调用前先做下准备工作:在窗口Form1内画4个文本框TextBox和2个按钮Button,布局如下图。
VB.NET读写XML配置文件

读写XML配置文件2009-04-08 16:58在WinCE中不能使用相对路径,必须获得配置文件的绝对路径WinCE中不支持System.IO.Directory.GetCurrentDirectory()Dim curDir As StringcurDir =System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecuti ngAssembly().GetName().CodeBase)Dim strFileName As String = curDir + "\config.xml"Dim fileInfo As New IO.FileInfo(strFileName)Dim xmlReader As System.Xml.XmlDocumentxmlReader = New Xml.XmlDocumentDim nodeList As Xml.XmlNodeListIf Not fileInfo.Exists ThenMessageBox.Show(strFileName + " does not exist") ElsexmlReader.Load(strFileName)nodeList =xmlReader.GetElementsByTagName("SystemName")MessageBox.Show(nodeList(0).Attributes(0).Valu e.ToString)End If---------------------------------------------------------------------------------------------------------------------------------Dim strFileName As String = "\Config.xml"Dim strFileFullPath As String =Directory.GetCurrentDirectory() + strFileNameDim strFile As FileInfo = New FileInfo(strFileFullPath)If strFile.Exists ThenConsole.WriteLine(strFileName + " Exists !") ElseConsole.WriteLine(strFileName + " Not Exists !") End IfDim xmlReader As Xml.XmlDocument = New Xml.XmlDocumentxmlReader.Load(strFileFullPath)Dim root As Xml.XmlNode = xmlReader.DocumentElementConsole.WriteLine(" Root = " + )Console.WriteLine(" Root ChildNotes is {0:D}",root.ChildNodes(1).Attributes(0).Value)root.ChildNodes(1).Attributes(0).Value = "123456789"xmlReader.Save(strFileFullPath)配置文件config.xml和程序放在同一个目录下,具体数据如下:<DMConfig><TSServer value="abcdefg" /><SystemName value="444444444444444" /><LogsPath value="2222222222222222" /><USBStickName value="33333333333333" /><USBSleepTimer value="25" /><IntroFilePath value="fffffffffffffff" /><AppFilePath value="ddddddddddddddd" /></DMConfig>。
VB和VB.NET中的XML操作(5)

VB和中的XML操作(5)3. 数据集的InferXmlSchema方法根据传递给它的XML数据的结构派生出数据集架构。
InferXmlSchema与上一节介绍的ReadXmlSchema方法的输入源相同。
另外,InferXMLSchema方法接受表示命名空间的字符串数组,这个空间在生成数据集架构时应被忽略。
Dim newDS As New System.Data.DataSet()Dim nsStr()As stringnewDS.InferXmlSchema("dataOnly.xml",nsStr))Me.daCategories.Fill(newDS.Tables("Categories"))Me.daProducts.Fill(newDS.Tables(Products"))newDS.Relations.Add("CategoriesProducts", _newDS.Tables("Categories").Columns("CategoryID"), _newDS.Tables("Products").Columns("CategoryID"))前两行代码声明了数据集和String数组变量,第3行将结果传递到InferXmlSchema方法中。
接下来的代码给新数据集添加并填充了新的数据关系,然后SetBindings函数将XML窗体控件绑定到数据集上。
4.WriteXmlSchema方法将数据集架构(包括表、列和约束)写到指定输出中。
这个方法和其他XML方法一样,都接受相同的输出参数。
Me.dsMaster1.WriteXmlSchema("testSchema.xsd")Messagebox.Show("Finished","WriteXmlSchema")5. 与ReadXml类似,数据集的WriteXml方法也可将XML数据或可选的数据集架构信息写到指定输出中。
C#VB.NET实现将XML转为PDF

C#实现将XML转为PDF⽬录引⼊dll⽅法1⽅法2将XML转为PDFC#补充可扩展标记语⾔(XML)⽂件是⼀种标准的⽂本⽂件,它使⽤特定的标记来描述⽂档的结构以及其他特性。
通过将XML转换为PDF,能够便于⽂件传输及共享。
本⽂,将介绍通过C#及代码来实现该格式转换的⽅法。
引⼊dll⽅法1在程序中引⼊Spire.Doc.dll⽂件;将下载到本地,解压,找到BIN⽂件夹下的Spire.Doc.dll。
然后在Visual Studio中打开“解决⽅案资源管理器”,⿏标右键点击“引⽤”,“添加引⽤”,将本地路径BIN⽂件夹下的dll⽂件添加引⽤⾄程序。
⽅法2通过安装。
可通过以下2种⽅法安装:1. 可以在Visual Studio中打开“解决⽅案资源管理器”,⿏标右键点击“引⽤”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。
等待程序安装完成。
2. 将以下内容复制到PM控制台安装。
Install-Package FreeSpire.Doc -Version 10.2.0将XML转为PDF以下是实现转换的详细代码步骤:创建Document类的对象。
调⽤Document.LoadFromFile(string fileName)⽅法加载XML⽂件。
使⽤Document.SaveToFile(string fileName, FileFormat fileFormat)⽅法保存为PDF格式到指定路径。
C#using Spire.Doc;namespace XMLtoPDF{class Program{static void Main(string[] args){//创建Document类的对象Document doc = new Document();//加载XML⽂档doc.LoadFromFile("sample.xml", FileFormat.Xml);//保存为PDF⽂档到指定路径doc.SaveToFile("XMLToPDF.pdf", FileFormat.PDF);}}}Imports Spire.DocNamespace XMLtoPDFClass ProgramPrivate Shared Sub Main(args As String())'创建Document类的对象Dim doc As New Document()'加载XML⽂档doc.LoadFromFile("sample.xml", FileFormat.Xml)'保存为PDF⽂档到指定路径doc.SaveToFile("XMLToPDF.pdf", FileFormat.PDF)End SubEnd ClassEnd Namespace转换结果:补充其实除了C# 可以实现XML⽂件转PDF格式,Java也能实现这⼀功能,下⾯是实现的⽰例代码import com.spire.doc.*;public class XMLtoPDF {public static void main(String[] args) {//创建Document类的对象Document doc = new Document();//加载XML⽂档doc.loadFromFile("sample.xml",FileFormat.Xml);//保存为PDF格式到指定路径doc.saveToFile("XMLtoPDF.pdf",FileFormat.PDF);}}到此这篇关于C#/实现将XML转为PDF 的⽂章就介绍到这了,更多相关C# XML转PDF 内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
vbnet读取xml的方法

vbnet读取xml的方法【最新版3篇】目录(篇1)I.vbnet读取xml的方法概述1.vbnet是一种面向对象的编程语言,可用于开发Windows平台下的应用程序。
2.xml是一种标记语言,用于描述数据结构和内容。
3.vbnet读取xml的方法可以用于从xml文件中获取数据,并将其转换为可读的数据结构。
II.vbnet读取xml的方法详细说明1.使用vbnet的XmlDocument类读取xml文件。
2.XmlDocument类提供了许多方法,可用于解析和操作xml文件。
3.使用XmlDocument类的Load方法加载xml文件,并将其解析为一个XmlDocument对象。
4.使用XmlDocument对象的SelectNodes方法,可以获取xml文件中指定标签下的所有节点。
5.使用XmlDocument对象的SelectSingleNode方法,可以获取xml 文件中指定标签下的第一个节点。
6.使用XmlDocument对象的ReadXml方法,可以将xml文件中的数据读取为一个字符串。
7.使用XmlDocument对象的WriteXml方法,可以将数据写入到xml 文件中。
正文(篇1)vbnet是一种面向对象的编程语言,可用于开发Windows平台下的应用程序。
xml是一种标记语言,用于描述数据结构和内容。
vbnet读取xml 的方法可以用于从xml文件中获取数据,并将其转换为可读的数据结构。
以下是vbnet读取xml的方法的详细说明。
使用vbnet的XmlDocument类读取xml文件。
XmlDocument类提供了许多方法,可用于解析和操作xml文件。
使用XmlDocument类的Load方法加载xml文件,并将其解析为一个XmlDocument对象。
使用XmlDocument 对象的SelectNodes方法,可以获取xml文件中指定标签下的所有节点。
使用XmlDocument对象的SelectSingleNode方法,可以获取xml文件中指定标签下的第一个节点。
vb.net创建、修改、读取XML的方法

创建、修改、读取XML的方法''' <summary>''' 创建XML文件''' </summary>''' <param name="xmlFileName">要创建的XML文件名</param>''' <remarks></remarks>Private Sub createXML(ByVal xmlFileName As String)TryDim writer As New Xml.XmlTextWriter(Application.StartupPa th & "" & xmlFileName, System.Text.Encoding.GetEncoding("utf-8"))'使用自动缩进便于阅读writer.Formatting = Xml.Formatting.Indentedwriter.WriteRaw("<?xml version=""1.0"" encoding=""utf-8"" ?>")'书写根元素()writer.WriteStartElement("Config")'添加次级元素writer.WriteStartElement("DatabaseSetting")'添加子元素()writer.WriteElementString("DataSource", Me.cmbHostName. SelectedItem.ToString.Trim)'为Datasource添加一个属性为value,值为test 的属性'writer.WriteAttributeString("value","test")writer.WriteElementString("InitialCatalog", Me.cmbDatabase Name.SelectedItem.ToString.Trim)writer.WriteElementString("UserID", Me.txtUserName.T ext.Tri m)writer.WriteElementString("Password", Me.txtPassword.T ext. Trim)'关闭次级元素DatabaseSettingwriter.WriteEndElement()'添加次级元素StationSettingwriter.WriteStartElement("StationSetting")'添加子元素writer.WriteElementString("StoreID", Me.cmbStoreID.Selecte dItem.ToString.Trim)writer.WriteElementString("StationID", Me.cmbStationID.Sel ectedItem.ToString.Trim)'关闭次级元素StationSettingwriter.WriteEndElement()'关闭根元素writer.WriteFullEndElement()'将XML写入文件并关闭writerwriter.Close()Catch ex As ExceptionMsgBox(ex.Message & vbCrLf & ex.StackTrace)End TryEnd Sub''' <summary>''' 修改XML''' </summary>''' <param name="xmlFileName">要修改的XML文件名</param>''' <param name="rootName">XML文件中的根元素名称</param>''' <param name="elementNameArry">要修改的元素数组</param>''' <param name="innerTextArry">对应于要修改的元素数组的修改文本数组</param>''' <remarks></remarks>Public Sub modifXML(ByVal xmlFileName As String, ByVal ro otName As String, ByVal elementNameArry() As String, ByVal in nerTextArry() As String)If puter.FileSystem.FileExists(Application.StartupPat h.Trim & "" & xmlFileName) ThenDim doc As New Xml.XmlDocumentdoc.Load(Application.StartupPath.Trim & "" & xmlFileName) Dim list As Xml.XmlNodeList = doc.SelectSingleNode(rootN ame).ChildNodesFor Each xn As Xml.XmlNode In listDim xe As Xml.XmlElementxe = xnDim nls As Xml.XmlNodeList = xe.ChildNodesFor Each xn1 As Xml.XmlNode In nlsDim xe2 As Xml.XmlElementxe2 = xn1For i As Integer = 0 To elementNameArry.Length - 1If = elementNameArry(i) Thenxe2.InnerText = innerTextArry(i)End IfNextNextNextdoc.Save(Application.StartupPath.Trim & "" & xmlFileName) End IfEnd Sub''' <summary>''' 读取XML文件''' </summary>''' <param name="xmlFileName">要读取的XML文件名</param>''' <remarks></remarks>Private Sub readXMl(ByVal xmlFileName As String)TryIf puter.FileSystem.FileExists(Application.StartupPat h & "" & xmlFileName) ThenDim doc As New Xml.XmlDocumentdoc.Load(Application.StartupPath.Trim & "" & xmlFileName) Dim re As Xml.XmlNodeReader = New Xml.XmlNodeReader (doc)Dim tmpStr As String = ""Dim name As StringWhile re.ReadSelect Case re.NodeTypeCase Xml.XmlNodeType.Elementname = Case Xml.XmlNodeType.TextIf name.Equals("DataSource") ThentmpStr = tmpStr & "Data Source=" & re.ValueEnd IfIf name.Equals("InitialCatalog") ThentmpStr = tmpStr & ";Initial Catalog=" & re.ValueEnd IfIf name.Equals("UserID") ThentmpStr = tmpStr & ";User ID=" & re.ValueEnd IfIf name.Equals("Password") ThentmpStr = tmpStr & ";Password=" & re.Value End IfEnd SelectEnd WhileEnd IfCatch ex As ExceptionMsgBox(ex.Message & vbCrLf & ex.StackTrace) End TryEnd Sub。
小议如何实现XML与VB之间的数据交换

理 和 数 据 存 储 的 统 一 方 法 。 在 这 种 情 况
信 息 , 包 括 那 些 在 传 统 意 义 上 被 看 作 数
( 0 读取 X D M) ML文件 , 并浏览其内容 . 关键词 : XML;D M;数据 交换 O
里 ,我 们 主 要 介 绍 一 下 D 0 M 模 型 。
D 0 M 接 口提 供 了一 种通 过分 层对 象 模 型访 问 x M L 文档信息 的方式 。这 些分层
对象 模型 依据 x M 的 文档结 构形 成 了一 L 棵节点树 。无论 x M L 文档 中所描述 的是何 比 ,xM L将 被用来描 述 内容的类 型 ,如 文 种类 型 的 信 息 ,即 便 是 制 表数 据 、 项 目列
眉圆
小议如何实现 X 与 V 之 间的数据交换 L M B
文件。其中,X ML DO - M D c me t o u n 对象 是对 xM L进行 操作的最 基本对象 ,由它可 以得到全部 的 xM L 文件信 息 ,并对 xM L 结 构 树 种 的 元 素 和 属性 进 行 操作 。 型 定 义 ) 来 显 示 这 些 数 据 , 而 用 X L S 以 及 它们 如 何 组 织 成为 一 个 具 有确 定 意 义 ( )利 用 DOM 树 从 xM 文档 中 二 L (xesl tl heL nug) 述 这 些 文档 如 的 整 体 ,相 当于 数据 库 中的 表 能够 描 述 各 解 析 数 据 etn’e ye etagae来描 bs s 何显示 的机制 ,X L是 X S ML的样 式表描述语 部 分 数据 的关 系一 样 。 正如 结 构 良好规 则 目前 的 X M 解 析 器主要 有 线性模 型 L 言 。由 于 XM L能够 标记 更 多的信 息 ,所 以 更为 严格的 DTD 定 义所指 出的 ,XM L 文 ( AX 模型) S 模型和树模型 ( D0M 模型) ,这
VB.NET简单读写XML配置文件

Public Class Form1Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System. EventArgs) Handles Button2.ClickDim path As String = "d:\cong.XML"'写入XML失败,则先初始化,后写入If WriteXML(TextBox1.Text, TextBox2.Text, path) = False ThenResetXML(path)WriteXML(TextBox1.Text, TextBox2.Text, path)End IfEnd SubEnd ClassImports System.XmlModule Module1Public Function WriteXML(ByVal nameStr As String, ByVal valueStr As String, ByVal path As String) As BooleanTryDim doc As New XmlDocumentDim RootNode As XmlElementDim mBound, i As IntegerDim isExit As Boolean = Falsedoc.Load(path)'循环体遍历子节点RootNode = doc.DocumentElementmBound = RootNode.ChildNodes.Count - 1For i = 0 To mBoundIf RootNode.ChildNodes(i).Name = nameStr ThenRootNode.ChildNodes(i).InnerText = valueStrisExit = TrueExit ForEnd IfNext'如果修改失败,则创建节点If isExit = False ThenDim xn As XmlNode = doc.CreateNode(XmlNodeType.Ele ment, nameStr, "")RootNode.AppendChild(xn)xn.InnerText = valueStrEnd Ifdoc.Save(path)Return TrueCatch ex As ExceptionReturn False '如果XML文件遭到破坏,则返回False End TryEnd FunctionPublic Function GetXML(ByVal nameStr As String, ByVal faultStr As String, ByVal path As String) As String'节点或XML不存在都会返回faultStrTryDim valueStr As String = faultStrDim xtr As XmlTextReader = New XmlTextReader(path)While xtr.ReadIf = nameStr ThenvalueStr = xtr.ReadStringExit WhileEnd IfEnd Whilextr.Close()Return valueStrCatch ex As ExceptionReturn faultStrEnd TryEnd FunctionPublic Function ResetXML(ByVal path As String) As BooleanTryDim xmlInit As StringxmlInit = "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "gb2312" & Chr(34) & "?>" & vbCrLf _& "<config>" & vbCrLf _& "</config>"puter.FileSystem.WriteAllText(path, xmlInit, False, S ystem.Text.Encoding.Default)Return TrueCatch ex As ExceptionReturn FalseEnd TryEnd FunctionEnd Module<?xml version="1.0" encoding="gb2312"?><config><hostsq>698</hostsq><hosts>258</hosts><price>369</price></config>。
基于XML和.NET技术的数据库互操作中间件的实现

基于XML和.NET技术的数据库互操作中间件的实现
扈书刚
【期刊名称】《微型电脑应用》
【年(卷),期】2008(24)10
【摘要】基于.NET平台和XML技术,构建数据库互操作框架的中间件,以示例演示了其可行性,实现了将SQL Server数据库转换为XML文件,继而根据需要,将XML 文件转换为其他关系数据库的功能,实现了多种关系数据库之间的数据转换和共享.【总页数】3页(P56-58)
【作者】扈书刚
【作者单位】东营职业学院,山东东营,257091
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.基于XML的异构数据库中间件的设计与实现 [J], 俞国红
2.一种基于XML和ADO技术的异构数据库访问中间件的设计实现 [J], 李鸣;张安强;林健
3.基于XML分布式异构数据库"主存"中间件实现 [J], 姚跃华;罗霜梅
4.基于SaaS的XML数据库中间件的设计与实现 [J], 王哲;宋茂强
5.一种基于xml中间件的异构数据库集成的实现 [J], 宋要辉
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Imports System.Xml'声明XMLPublic Class Form1Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button1.ClickDim dataset As New DataSet'声明一个datasetdataset.ReadXml("f:¥aaa.xml")'读xml文件,并把xml文件放入到datset的第一个表中Dim table As DataTable=dataset.Tables(0)'读出该表Dim view As DataView=New DataView(table)'自定义视图DataGridView1.DataSource=view'绑定数据源End SubPublic Sub appear()'同上Dim dataset As New DataSetdataset.ReadXml("f:¥aaa.xml")Dim table As DataTable=dataset.Tables(0)Dim view As DataView=New DataView(table)DataGridView2.DataSource=viewEnd SubPrivate Sub Button2_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button2.ClickDim xmlDou As XmlDocument=New XmlDocument()'声明一个xml文档对象xmlDou.Load("f:¥aaa.xml")'将特定的xml文档写入xmldoucumentDim xmlnode As XmlNode=xmlDou.SelectSingleNode("bookstore")'声明一个根标记,bookstore为根标记Dim xml1As XmlElement=xmlDou.CreateElement("book")'声明一个xml 的节点xml1.SetAttribute("genre","李簪红")'节点的属性xml1.SetAttribute("ISBN","2-3621-4")'同上Dim xml1_title As XmlElement=xmlDou.CreateElement("title")'声明一个xml的节点xml1_title.InnerText="C#程序设计入门与技巧"'定义节点的文档xml1.AppendChild(xml1_title)'向总节点尾部添加节点Dim xml1_author As XmlElement=xmlDou.CreateElement("author")'同上xml1_author.InnerText="张永斌"xml1.AppendChild(xml1_author)Dim xml1_price As XmlElement=xmlDou.CreateElement("price")xml1_price.InnerText="56.7"xml1.AppendChild(xml1_price)xmlnode.AppendChild(xml1)Dim xml2As XmlElement=xmlDou.CreateElement("book")xml2.SetAttribute("genre","乐于")xml2.SetAttribute("ISBN","3-3423-5")Dim xml2_title As XmlElement=xmlDou.CreateElement("title")xml2_title.InnerText="JAVA"xml2.AppendChild(xml2_title)Dim xml2_author As XmlElement=xmlDou.CreateElement("author")xml2_author.InnerText="防御忧郁"xml2.AppendChild(xml2_author)Dim xml2_price As XmlElement=xmlDou.CreateElement("price")xml2_price.InnerText="44.4"xml2.AppendChild(xml2_price)xmlnode.AppendChild(xml2)xmlDou.Save("f:¥aaa.xml")appear()End SubPrivate Sub Button3_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button3.ClickDim xmlDoc As XmlDocument=New XmlDocument'同上xmlDoc.Load("f:¥aaa.xml")'同上Dim nodelist As XmlNodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes()'定义了一个xmlnodelist用于放根节点为bookstore的所有字标记For Each node As XmlNode In nodelist'遍历整个xmlnodelistDim elem As XmlElement=node'将节点转换为element元素Dim elem_children As XmlNodeList=elem.ChildNodes()'定义了一个elem_children用于放根节点为bookstore的所有字标记If elem.GetAttribute("genre")="李簪红"Then'获得第一子节点的属性elem.SetAttribute("genre","updata李簪红")'更新第一节点的属性End IfFor Each elem_node As XmlNode In elem_children'遍历第二子节点Dim elem_node_toelem As XmlElement=elem_node'将节点转换为element元素If elem_node_="author"Then'如果第二子节点的名称为authorIf elem_node_toelem.InnerText="防御忧郁"Then'如果这个节点的值为防御忧郁则elem_node_toelem.InnerText="O(∩_∩)O哈哈~"'更改他的值End IfEnd IfNextNextxmlDoc.Save("f:¥aaa.xml")'保存xml文件appear()End SubPrivate Sub Button4_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button4.ClickDim xmlDuc As XmlDocument=New XmlDocument()xmlDuc.Load("f:¥aaa.xml")Dim xml_geng As XmlElement=xmlDuc.SelectSingleNode("bookstore") Dim xmlnodelist As XmlNodeList=xml_geng.ChildNodes()For Each xmlnode As XmlNode In xmlnodelistDim xmlnodetoelem As XmlElement=xmlnodeIf xmlnodetoelem.GetAttribute("genre")="乐于"Thenxmlnodetoelem.RemoveAttribute("genre")End IfNextFor Each xmlnode As XmlNode In xmlnodelistDim xmlnodetoelem As XmlElement=xmlnodeIf xmlnodetoelem.GetAttribute("genre")="fantasy"Thenxmlnodetoelem.RemoveAll()End IfNextxmlDuc.Save("f:¥aaa.xml")'保存xml文件appear()End SubEnd Class。