中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

包含vb.netxml屬性的詞條

VB.net 讀取 xml問題!

Dim?xmlDoc?As?New?System.Xml.XmlDocument

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、巴楚網(wǎng)站定制設(shè)計、自適應品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、商城開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應式網(wǎng)頁設(shè)計等建站業(yè)務,價格優(yōu)惠性價比高,為巴楚等各大城市提供網(wǎng)站開發(fā)制作服務。

xmlDoc.Load("c:\xml.xml")?'載入xml文件

Dim?Items?As?Xml.XmlNodeList?=?xmlDoc.DocumentElement.SelectNodes("http://record/item")?'參數(shù)為xpath查詢串,前面斜杠,//:表示任何結(jié)點,/:表示根結(jié)點

For?Each?s?As?Xml.XmlNode?In?Items

Console.WriteLine(s.Attributes.GetNamedItem("id").Value??vbTab??s.InnerText)

Next

VB.NET 或者 C#實現(xiàn)XML樹增刪改節(jié)點 代碼

//創(chuàng)建XMLdocument

System.Xml.XmlDocument doc = new System.Xml.XmlDocument();

// 從XML文件中加載XML

doc.Load(XmlPath);

//為doc的根節(jié)點創(chuàng)建子節(jié)點nodeA(沒有添加到根節(jié)點上?。?/p>

System.Xml.XmlNode nodeA = doc.CreateNode(System.Xml.XmlNodeType.Element, "SAMPLE_ADD", "SAMPLEURI_ADD");

//為子節(jié)點nodeA設(shè)置屬性

nodeA.Value = "SAMPLE VALUE ADD";

//將nodeA添加為doc的子節(jié)點

doc.AppendChild(nodeA);

//為nodeA節(jié)點創(chuàng)建子節(jié)點nodeAA(沒有添加到nodeA節(jié)點上!)

System.Xml.XmlNode nodeAA = nodeA.CreateNode(System.Xml.XmlNodeType.Element, "SAMPLE_ADD2", "SAMPLEURI_ADD2");

//為子節(jié)點nodeAA設(shè)置屬性

nodeAA.Value = "SAMPLE VALUE ADD2";

//將nodeAA添加為nodeA的子節(jié)點

nodeA.AppendChild(nodeAA);

//遍歷nodeA下面的所有子節(jié)點

foreach (System.Xml.XmlNode node in nodeA.ChildNodes)

{

//處理這些節(jié)點

}

//刪除節(jié)點的做法是遍歷該節(jié)點然后吧符合條件的刪除掉

foreach (System.Xml.XmlNode node in doc.ChildNodes)

{

// 將節(jié)點從父上刪除

doc.RemoveChild(node);

}

vb.net操作xml數(shù)據(jù)庫(急)

使用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("此文件表示書店庫存數(shù)據(jù)庫的另一個片斷")

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 并關(guān)閉編寫器

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

'關(guān)閉編寫器

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

' 顯示該文件的統(tǒng)計信息

Console.WriteLine ()

Console.WriteLine("{0} 文件的統(tǒng)計信息", 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

參考:

求VB操作 XML對象的教程

萬事俱備,我們先用VB和MSXML的COM接口的DOM實現(xiàn)的一個例子來對XML操作進行初步的了解吧。首先聲明下面要用的幾個對象的變量:Dim tempdoc As DOMDocument

Dim tempnode As IXMLDOMNode

Dim tempelement As IXMLDOMElement

Dim tempattribute As IXMLDOMElement

Dim root As IXMLDOMElement文檔對象模型(DOM)使用了一系列相應的對象描述了XML文檔的等級狀態(tài),DOMDocument類是一個描繪XML文檔的DOM結(jié)構(gòu)的MSXML類。DOMDocument類僅僅提供了很少的幾個有用的屬性和方法,例如:Load方法載入一個xml文件,loadxml方法將字符串作為xml數(shù)據(jù)添加到對象中。DOMDocument的xml屬性返回文檔的xml描述,可以顯示這些返回值看看這些文檔究竟是什么樣子,也可以將它存儲為一個文件,DOMDocument對象的documentElement屬性表示文檔數(shù)據(jù)的根結(jié)點,通常情況下操作XML文檔都從這里開始。DOMDocument提供了幾種創(chuàng)建新節(jié)點的方法。CreateElement方法為文檔創(chuàng)建一個新的元素節(jié)點,其他創(chuàng)建節(jié)點的方法有createAttribute, createProcessingInstruction, 和 createTextNode,在這里就不一一介紹了。IXMLDOMNode類描述了一個節(jié)點,該類提供了一系列用于搜索和操縱XML文檔的屬性和方法。selectSingleNode 方法用于搜索指定節(jié)點的后代,用于搜索指定節(jié)點路徑的語言稱為XPATH,XPATH非常棘手,本文就不詳細說明其規(guī)范了。在IXMLDOMNode對象中,有許多有用的屬性值:attributes.節(jié)點屬性集合

nodeName.節(jié)點的標記名

nodeTypeString.節(jié)點的類型

ownerDocument.返回DOMDocument對象包含的節(jié)點

text.表示節(jié)點包含的文本內(nèi)容。如果該節(jié)點包含其他節(jié)點,那么text代表了所有節(jié)點的文本內(nèi)容的組合。

xml.給出了節(jié)點的xml內(nèi)容,例如:"<Email>hongwanfu@yahoo.com</Email>".ChildNodes集合包含了節(jié)點的子節(jié)點。要給節(jié)點增加一個子節(jié)點,首先必須給使用DOMDocument對象的節(jié)點創(chuàng)建方法,然后將這個新建的節(jié)點加入到父節(jié)點的childNodes集合中。 ChildNodes集合包含了節(jié)點的子節(jié)點。要給節(jié)點增加一個子節(jié)點,首先必須給使用DOMDocument對象的節(jié)點創(chuàng)建方法,然后將這個新建的節(jié)點加入到父節(jié)點的childNodes集合中。由于每個節(jié)點類型都有不同的訪問方法和內(nèi)容限制,有時候使用特定類型的節(jié)點要比使用通用 IXMLDOMNode 對象更容易。要做到這一點,需要使用 IXMLDOMElement 對象來處理 XML 數(shù)據(jù)元素和屬性。正如元素可以包含 XML 數(shù)據(jù)文件中的子元素、文本、注釋、處理說明、CDATA 部分和實體引用一樣,IXMLDOMElement 對象也可以包含 IXMLDOMElement、IXMLDOMText、IXMLDOMComment、IXMLDOMProcessingInstruction、IXMLDOMCDATASection 和 IXMLDOMEntityReference 對象??梢酝ㄟ^使用 IXMLDOMElement 對象的 getAttribute 和 setAttribute 方法來訪問屬性;或者通過 IXMLDOMElement 對象的 attributes 屬性,將屬性作為 IXMLDOMNamedNodeMap 對象進行管理。有關(guān)使用這些方法和對象的詳細信息,請參閱 MSXML 4.0 SDK Help。接下來我們要做的是生成一個XML DOMDocument 對象 :Set tempdoc = New DOMDocument生成根節(jié)點并把它設(shè)置為文件的根 :Set root = tempdoc.createElement("Personal")

Set tempdoc.documentElement = root生成孩子節(jié)點添加到根節(jié)點上去,并且為這個節(jié)點設(shè)置一個屬性 :

Set tempnode = tempdoc.createNode(NODE_ELEMENT, "Web", "")

tempnode.Text = " "

root.appendChild tempnode取得元素節(jié)點的接口,添加屬性:Set tempelement = tempnode

tempelement.setAttribute "Type", "Homepage"最后,寫XML文件:Open "CreateXMLFile.xml" for output as #1

Print #1, root.XML

Close #1下面就是上面程序生成的CreateXMLFile.xml文件的內(nèi)容如圖:首先,建立一個名叫Personal.xml的文件:<?xml version="1.0" encoding="GB2312"?><個人信息><姓名>洪萬福</姓名><性別>男</性別><出生日期>1983年x月x日</出生日期><地址>福建省廈門市集美大學水產(chǎn)學院新區(qū)270#</地址><郵編>361021</郵編><QQ>24948251</QQ><個人主頁> </個人主頁></個人信息>其中,encoding="GB2312"是為了防止顯示中文時出現(xiàn)亂碼。接著,進入Visual Basic 6,建立7個Label和7個TextBox, 具體如圖: 隨后,編寫如下代碼:Option Explicit

Private p_AppPath As String

Private Sub Form_Load()

 ' 獲得程序運行目錄

 p_AppPath = App.Path

 If Right$(p_AppPath, 1) <> "\" Then p_AppPath = p_AppPath "\"

 ' 加載值

 LoadValues

End SubPrivate Sub Form_Unload(Cancel As Integer)

 ' 保存現(xiàn)有的值

 SaveValues

End SubPrivate Sub LoadValues() Dim xml_document As DOMDocument Dim values_node As IXMLDOMNode ' 載入文件 Set xml_document = New DOMDocument

 xml_document.Load p_AppPath "Personal.xml"

 If xml_document.documentElement Is Nothing ThenExit Sub End If '尋找節(jié)點

 Set values_node = xml_document.selectSingleNode("個人信息")

 ' 讀取各個節(jié)點的值

 txtName.Text = GetNodeValue(values_node, "姓名", "???")

 txtSex.Text = GetNodeValue(values_node, "性別", "???")

 txtBirthday.Text = GetNodeValue(values_node, "出生日期", "???")

 txtAddress.Text = GetNodeValue(values_node, "地址", "???")

 txtZip.Text = GetNodeValue(values_node, "郵編", "???")

 txtQQ.Text = GetNodeValue(values_node, "QQ", "???")

 txtHomepage.Text = GetNodeValue(values_node, "個人主頁", "???")End Sub' 返回各個節(jié)點的值Private Function GetNodeValue(ByVal start_at_node As IXMLDOMNode, ByVal node_name As String, _Optional ByVal default_value As String = "") As String Dim value_node As IXMLDOMNode

 Set value_node = start_at_node.selectSingleNode(".//" node_name)

 If value_node Is Nothing Then

GetNodeValue = default_value

 Else

GetNodeValue = value_node.Text

 End IfEnd Function' 保存現(xiàn)有的值Private Sub SaveValues()

 Dim xml_document As DOMDocument

 Dim values_node As IXMLDOMNode

 ' 建立XML文件

 Set xml_document = New DOMDocument

 Set values_node = xml_document.createElement("個人信息")

 xml_document.appendChild values_node

 CreateNode values_node, "姓名", txtName.Text

 CreateNode values_node, "性別", txtSex.Text

 CreateNode values_node, "出生日期", txtBirthday.Text

 CreateNode values_node, "地址", txtAddress.Text

 CreateNode values_node, "郵編", txtZip.Text

 CreateNode values_node, "QQ", txtQQ.Text

 CreateNode values_node, "個人主頁", txtHomepage.Text

 ' 保存XML文件

 xml_document.save p_AppPath "Personal.xml"

 

End SubPrivate Sub CreateNode(ByVal parent As IXMLDOMNode, _ByVal node_name As String, ByVal node_value As String) Dim new_node As IXMLDOMNode

 Set new_node = parent.ownerDocument.createElement(node_name)

 new_node.Text = node_value

 parent.appendChild new_node

End Sub運行結(jié)果如下: 雖然,MSXML提供了從Visual Basic6.0加載和存儲XML文檔的工具,但是,對其的應用要求程序員對VB和MSXML的COM接口有一定的認識,所以,并不是得到很廣泛的應用。

作者:洪萬福出處:微軟社區(qū)責任編輯: 方舟 [ 2003-08-20 10:45 ] 本文為計劃將應用程序更新到VB.NET的VB開發(fā)用戶提供一些關(guān)于XML的建議 Visual Basic.NET的出現(xiàn)大大改變了這個狀況,Visual Basic.NET提供了使用XML、XSL以及其他XML工具的完整工具,使用戶很輕松就能實現(xiàn)XML的應用,甚至,在不用編寫代碼的情況下操作XML。ADO.NET是Microsoft新推出的.NET框架中用于數(shù)據(jù)訪問的組件,其最大的優(yōu)點就是使用XML作為傳送數(shù)據(jù)的標準,只要有一個XML文本,就可以讀入ADO.NET的組件中,然后ADO.NET再以XML格式傳給數(shù)據(jù)庫或者其他組件。可以使用DataSet對象的ReadXML方法將一個XML文件讀入到DataSet中,這是一個重載的方法,有幾種語法格式,經(jīng)常用到的如下所示:ReadXML(FileName)其中,F(xiàn)ileName為XML文檔的名字,現(xiàn)在將前面創(chuàng)建的XML文本“Personal.xml”讀入到DataSet中。新建一個項目,在窗體上創(chuàng)建一個Button和一個DataGrid控件,雙擊Button1輸入以下代碼:Dim ds As New DataSet()'讀入XML文檔

ds.ReadXml("personal.xml")

Dim tb As DataTable

Dim dv As DataView

tb = ds.Tables(0)

dv = New DataView(tb)

Me.DataGrid1.DataSource = dv

如何使用vb.net讀取xml元素的屬性

先讀取節(jié)點Match,然后讀取節(jié)點內(nèi)的各個屬性值。 再進行節(jié)點中的子節(jié)點SetSetName的讀取,讀取方式也是直接讀取各個屬性值。

ASP.NET中用VB語言怎么操作XML數(shù)據(jù)?急救啊

這個應該沒有問題的。看起來比較輕松的。。

代碼調(diào)試正確

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"));

}

//添加節(jié)點

private

void

AddElement()

{

LoadXML();

XMLNode

XMLdocSelect=XMLDoc.SelectSingleNode("user");

XMLElement

el=XMLDoc.CreateElement("person");

//添加person節(jié)點

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

//添加person節(jié)點的屬性"name"

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

//添加person節(jié)點的屬性

"sex"

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

//添加person節(jié)點的屬性

"age"

XMLElement

xesub1=XMLDoc.CreateElement("pass");

//添加person節(jié)點的里的節(jié)點

xesub1.InnerText="123";//設(shè)置文本節(jié)點

el.AppendChild(xesub1);

XMLElement

xesub2=XMLDoc.CreateElement("Address");

xesub2.InnerText="昆明";//設(shè)置文本節(jié)點

el.AppendChild(xesub2);

XMLdocSelect.AppendChild(el);

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

}

//修改節(jié)點

private

void

UpdateElement()

{

LoadXML();

XMLNodeList

nodeList=XMLDoc.SelectSingleNode("user").ChildNodes;//獲取bookstore節(jié)點的所有子節(jié)點

foreach(XMLNode

xn

in

nodeList)//遍歷所有子節(jié)點

{

XMLElement

xe=(XMLElement)xn;//將子節(jié)點類型轉(zhuǎn)換為XMLElement類型

if(xe.GetAttribute("name")=="風云")//如果name屬性值為“風云”

{

xe.SetAttribute("name","發(fā)明");

//如果下面有子節(jié)點在下走

XMLNodeList

nls=xe.ChildNodes;//繼續(xù)獲取xe子節(jié)點的所有子節(jié)點

foreach(XMLNode

xn1

in

nls)//遍歷

{

XMLElement

xe2=(XMLElement)xn1;//轉(zhuǎn)換類型

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

{

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

break;

}

}

break;

}

}

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

}

//刪出節(jié)點

private

void

deleteNode()

{

LoadXML();

XMLNodeList

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

foreach(XMLNode

xn

in

xnl)

{

XMLElement

xe=(XMLElement)xn;

if(xe.GetAttribute("name")=="發(fā)明")

{

//xe.RemoveAttribute("name");//刪除name屬性

xe.RemoveAll();//刪除該節(jié)點的全部內(nèi)容

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);//顯示子節(jié)點點文本

//

}

}

}

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.netxml屬性的詞條
地址分享:http://www.rwnh.cn/article8/dooheop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)網(wǎng)站策劃、外貿(mào)建站品牌網(wǎng)站制作、定制網(wǎng)站、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
洛扎县| 婺源县| 扎赉特旗| 城口县| 化州市| 上蔡县| 临清市| 同德县| 军事| 睢宁县| 台中县| 景泰县| 冷水江市| 新余市| 无棣县| 栾川县| 六安市| 井陉县| 历史| 庄浪县| 邹平县| 平果县| 台南县| 黑山县| 铜山县| 昌邑市| 柳河县| 卫辉市| 博爱县| 扎赉特旗| 香格里拉县| 呼伦贝尔市| 房山区| 高陵县| 南乐县| 麻阳| 云阳县| 鹰潭市| 个旧市| 包头市| 南宫市|