vb.net文本转xml的简单介绍

VB.NET修改替换xml文件中的值

Dim path As String = PDA_PATH "ife.XML" ’PDA_PATH 为路径

专注于为中小企业提供成都网站建设、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业富县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

Dim ds As New DataSet

ds.ReadXml(path)

Dim dt As DataTable = ds.Tables.Item(0)

Dim blnY As Boolean = True

For Each row As DataRow In dt.Rows

If row.Item("Translation").ToString.ToUpper ="确认"Then

row.Item("Translation") =“替换”

blnY = False

Exit For

End If

Next

If blnY Then

MsgBox("输入的XXX不存在,请重新输入! ")

Return

End If

ds.WriteXml(path)

MessageBox.Show("修改数据并保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

或者

Dim xmlDoc As New XmlDocument()

'Dim nodeList As New XmlNodeList

xmlDoc.Load("life..xml") '加载

Dim nodeList As XmlNodeList = xmlDoc.SelectSingleNod.("UITranslations").ChildNodes '获取bookstore节点的所有子节点

Dim xn As XmlNode

For Each xn In nodeList '遍历所有子节点

Dim xe As XmlElement = CType(xn, XmlElement) '将子节点类型转换为XmlElement类型

Dim nls As XmlNodeList = xe.ChildNodes '继续获取xe子节点的所有子节点

Dim xn1 As XmlNode

For Each xn1 In nls '遍历

Dim xe2 As XmlElement = CType(xn1, XmlElement) '转换类型

If xe2.Name = "Translation" Then '如果找到

xe2.InnerText ="替换"则修改

'Exit For Each '找到退出来就可以了

End If

Next xn1

Next xn

xmlDoc.Save("life.xml") '保存。

MessageBox.Show("修改XML成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

看能不能帮到你!

vb.net操作xml数据库(急)

使用System.XML

Imports Microsoft.VisualBasic

Imports System

Imports System.IO

Imports System.Xml

namespace HowTo.Samples.XML

public class WriteXmlFileSample

private const document as string = "newbooks.xml"

shared sub Main()

Dim myWriteXmlFileSample as WriteXmlFileSample

myWriteXmlFileSample = new WriteXmlFileSample()

myWriteXmlFileSample.Run(document)

end sub

public sub Run(args As String)

Dim myXmlTextReader as XmlTextReader = nothing

Dim myXmlTextWriter as XmlTextWriter = nothing

try

myXmlTextWriter = new XmlTextWriter (args, nothing)

myXmlTextWriter.Formatting = System.Xml.Formatting.Indented

myXmlTextWriter.WriteStartDocument(false)

myXmlTextWriter.WriteDocType("bookstore", nothing, "books.dtd", nothing)

myXmlTextWriter.WriteComment("此文件表示书店库存数据库的另一个片断")

myXmlTextWriter.WriteStartElement("bookstore")

myXmlTextWriter.WriteStartElement("book", nothing)

myXmlTextWriter.WriteAttributeString("genre","autobiography")

myXmlTextWriter.WriteAttributeString("publicationdate","1979")

myXmlTextWriter.WriteAttributeString("ISBN","0-7356-0562-9")

myXmlTextWriter.WriteElementString("title", nothing, "The Autobiography of Mark Twain")

myXmlTextWriter.WriteStartElement("Author", nothing)

myXmlTextWriter.WriteElementString("first-name", "Mark")

myXmlTextWriter.WriteElementString("last-name", "Twain")

myXmlTextWriter.WriteEndElement()

myXmlTextWriter.WriteElementString("price", "7.99")

myXmlTextWriter.WriteEndElement()

myXmlTextWriter.WriteEndElement()

'向文件写 XML 并关闭编写器

myXmlTextWriter.Flush()

myXmlTextWriter.Close()

' 读取返回的文件并进行分析以确保正确生成 XML

myXmlTextReader = new XmlTextReader (args)

FormatXml (myXmlTextReader, args)

catch e as Exception

Console.WriteLine ("异常:{0}", e.ToString())

finally

Console.WriteLine()

Console.WriteLine("对文件 {0} 的处理已完成。", args)

If Not myXmlTextReader Is Nothing

myXmlTextReader.Close()

end if

'关闭编写器

If Not myXmlTextWriter Is Nothing

myXmlTextWriter.Close()

end if

End try

End Sub

private shared Sub FormatXml (reader as XmlTextReader, filename as String)

Dim piCount, docCount, commentCount, elementCount as Integer

Dim attributeCount, textCount, whitespaceCount as Integer

While reader.Read()

Select (reader.NodeType)

case XmlNodeType.ProcessingInstruction:

Format (reader, "ProcessingInstruction")

piCount += 1

case XmlNodeType.DocumentType:

Format (reader, "DocumentType")

docCount += 1

case XmlNodeType.Comment:

Format (reader, "Comment")

commentCount += 1

case XmlNodeType.Element:

Format (reader, "Element")

elementCount += 1

While reader.MoveToNextAttribute()

Format (reader, "Attribute")

end While

if (reader.HasAttributes)

attributeCount += reader.AttributeCount

end if

case XmlNodeType.Text:

Format (reader, "Text")

textCount += 1

case XmlNodeType.Whitespace:

whitespaceCount += 1

End Select

End While

' 显示该文件的统计信息

Console.WriteLine ()

Console.WriteLine("{0} 文件的统计信息", filename)

Console.WriteLine ()

Console.WriteLine("处理指令:" piCount)

Console.WriteLine("文档类型:" docCount)

Console.WriteLine("注释:" commentCount)

Console.WriteLine("元素:" elementCount)

Console.WriteLine("属性:" attributeCount)

Console.WriteLine("文本:" textCount)

Console.WriteLine("空白:" whitespaceCount)

End Sub

private shared Sub Format(byref reader as XmlTextReader , NodeType as String)

' 格式化输出

Console.Write(reader.Depth " ")

Console.Write(reader.AttributeCount " ")

Dim i as Integer

for i = 0 to reader.Depth - 1

Console.Write(Strings.chr(9))

Next

Console.Write(reader.Prefix NodeType "" reader.Name "" reader.Value)

Console.WriteLine()

End Sub

End Class

End Namespace

参考:

ASP.NET中用VB语言怎么操作XML数据?急救啊

这个应该没有问题的。看起来比较轻松的。。

代码调试正确

using

System;

using

System.Collections;

using

System.ComponentModel;

using

System.Data;

using

System.Drawing;

using

System.Web;

using

System.Web.SessionState;

using

System.Web.UI;

using

System.Web.UI.WebControls;

using

System.Web.UI.HTMLControls;

using

System.XML;

private

XMLDocument

XMLDoc;

//load

XML

file

private

void

LoadXML()

{

XMLDoc=new

XMLDocument();

XMLDoc.Load(Server.MapPath("User.XML"));

}

//添加节点

private

void

AddElement()

{

LoadXML();

XMLNode

XMLdocSelect=XMLDoc.SelectSingleNode("user");

XMLElement

el=XMLDoc.CreateElement("person");

//添加person节点

el.SetAttribute("name","风云");

//添加person节点的属性"name"

el.SetAttribute("sex","女");

//添加person节点的属性

"sex"

el.SetAttribute("age","25");

//添加person节点的属性

"age"

XMLElement

xesub1=XMLDoc.CreateElement("pass");

//添加person节点的里的节点

xesub1.InnerText="123";//设置文本节点

el.AppendChild(xesub1);

XMLElement

xesub2=XMLDoc.CreateElement("Address");

xesub2.InnerText="昆明";//设置文本节点

el.AppendChild(xesub2);

XMLdocSelect.AppendChild(el);

XMLDoc.Save(Server.MapPath("user.XML"));

}

//修改节点

private

void

UpdateElement()

{

LoadXML();

XMLNodeList

nodeList=XMLDoc.SelectSingleNode("user").ChildNodes;//获取bookstore节点的所有子节点

foreach(XMLNode

xn

in

nodeList)//遍历所有子节点

{

XMLElement

xe=(XMLElement)xn;//将子节点类型转换为XMLElement类型

if(xe.GetAttribute("name")=="风云")//如果name属性值为“风云”

{

xe.SetAttribute("name","发明");

//如果下面有子节点在下走

XMLNodeList

nls=xe.ChildNodes;//继续获取xe子节点的所有子节点

foreach(XMLNode

xn1

in

nls)//遍历

{

XMLElement

xe2=(XMLElement)xn1;//转换类型

if(xe2.Name=="pass")//如果找到

{

xe2.InnerText="66666";//则修改

break;

}

}

break;

}

}

XMLDoc.Save(Server.MapPath("user.XML"));//保存

}

//删出节点

private

void

deleteNode()

{

LoadXML();

XMLNodeList

xnl=XMLDoc.SelectSingleNode("user").ChildNodes;

foreach(XMLNode

xn

in

xnl)

{

XMLElement

xe=(XMLElement)xn;

if(xe.GetAttribute("name")=="发明")

{

//xe.RemoveAttribute("name");//删除name属性

xe.RemoveAll();//删除该节点的全部内容

break;

}

}

XMLDoc.Save(Server.MapPath("user.XML"));//保存

}

private

void

showIt()

{

LoadXML();

XMLNode

xn=XMLDoc.SelectSingleNode("user");

XMLNodeList

xnl=xn.ChildNodes;

foreach(XMLNode

xnf

in

xnl)

{

XMLElement

xe=(XMLElement)xnf;

//

Console.WriteLine(xe.GetAttribute("name"));//显示属性值

//

Console.WriteLine(xe.GetAttribute("sex"));

//

//

XMLNodeList

xnf1=xe.ChildNodes;

//

foreach(XMLNode

xn2

in

xnf1)

//

{

//

Console.WriteLine(xn2.InnerText);//显示子节点点文本

//

}

}

}

XML的样式:

?xml

version="1.0"

encoding="gb2312"?

user

person

/person

person

name="风拉"

sex="男"

age="25"

pass123/pass

Address大明/Address

/person

person

name="风云"

sex="女"

age="25"

pass123/pass

Address昆明/Address

/person

/user

vb.net 读取xml

先读取节点Match,然后读取节点内的各个属性值。 再进行节点中的子节点SetSetName的读取,读取方式也是直接读取各个属性值。

使用vb.net如何读取XML文件

使用DataSet类来完成这项任务。

DataSet对象在传输时,是以XML流的形式而不是以COM形式传输的。DataSet对象可以读取XML数据文件或者数据流,从而将树型结构的XML数据转换成关系型的数据,如表(DataTable)、列(DataColumn)、行(DataRow)等。

在这个实例中,我们将XML文件命名为“xmlfile.xml”,具体内容如下:

?xml version=\"1.0\"standalone=”yes”?

Detail

Person

NameManish/Name

Age22/Age

/Person

/Detail \'用VB.NET读写XML文件

C1aSS WriteXML

Shared Sub main()

Dim obj DataSet As New System.Data.DataSet()

Dim strVirtualPath As String=”t.xml”

\'载入XML文件DataSet

objDataSet.ReadXml(”xmlfile.xml”)

\'通过控制器读取XML内容

Console.Write(objDataSet.GetXml)

\'从原XML文件中得到数据

ConSOle.Write(”Enter Name:”)

Dim fname,age As String

fname=ConS01e.ReadLine

\'写入你希望的代码

ConS01e.Write(”Enter Age:”)

age=Console.ReadLine

ConS0le.Write(fname&age)

Dim v(1)As String

v(0)=fname

V(1)=age

\'增加数据DataSet

objDataSet.Tables(0).Rows.Add(V)

\'更新XML文件

objDataSet.WriteXml(”xmlfile.xml”)

Console.Write(obj DataSet.GetXml)

End Sub

End C1ass

运行该程序有两种方式,一种是在Microso~VS.NET框架中编译完后运行;另一种则是在仿DOS的Command窗口中运行。在第一种方式中,必须加上System、System.Data、System.xML的引用。具体方法为:先创建一个空的项目,然后加入这个文件名字;在“解决方案资源管理器”中加入引用,此时需要选择相应的.dll文件;注意,xmlfile.xml文件应该放在工程的/bin目录下面。我们可以输出结果也可以用浏览器直接查看改变后的XML文件。在第二种方式中,选择桌面的“程序”一“Microso~Visual Studio.NET”一“VisualStudio.NET工具”一“Visual Studio.NET命令提示”命令,在DOS命令提示框敲入命令:[Page]

vbc/r:system.d11/r:system.data.d11/r:system.xml.d11 xml.vb其中,程序名为xml.vb,这里的3个.dll文件都是必须调用的库文件。应该在存放VB.NET文件的目录中运行上述命令,否则找不到相应的程序,当然设置PATH也可以做到。此外,Xml_vb文件应该和XML文件放在同一目录下面。每次运行此程序都会往文件中写进同样的内容,都是写入Person/,运行一次写一行。其实,我们只要稍微修改一下这个程序,就可以往XML中写入我们所需要的数据。

VB.NET读取XML节点问题。

有两种办法。

方法一、创建一个 MSXML2.DOMDocument 对象,把这个文件Load进来,按照教科书上的步骤处理。这个对象名并非唯一,依据你电脑上的MSXML版本而定。你在引用中查一下。

方法二、将这个文件当做一个普通的文本文件来处理。将它完整的读入到一个字符串中,依据节点名用Split()函数将它分段,提取所需的内容。

两种方法都不复杂,尝试一下吧。


分享文章:vb.net文本转xml的简单介绍
标题链接:http://azwzsj.com/article/hcossi.html