先有一个XML数据:
<?xml version="1.0" ?>
<Order>
<Account>9900234</Account>
<Item id="1">
<SKU>1234</SKU>
<PricePer>5.95</PricePer>
<Quantity>100</Quantity>
<Subtotal>595.00</Subtotal>
<Description>Super Widget Clamp</Description>
</Item>
<Item id="2">
<SKU>6234</SKU>
<PricePer>22.00</PricePer>
<Quantity>10</Quantity>
<Subtotal>220.00</Subtotal>
<Description>Mighty Foobar Flange</Description>
</Item>
<Item id="3">
<SKU>9982</SKU>
<PricePer>2.50</PricePer>
<Quantity>1000</Quantity>
<Subtotal>2500.00</Subtotal>
<Description>Deluxe Doohickie</Description>
</Item>
<Item id="4">
<SKU>3256</SKU>
<PricePer>389.00</PricePer>
<Quantity>1</Quantity>
<Subtotal>389.00</Subtotal>
<Description>Muckalucket Bucket</Description>
</Item>
<NumberItems>1111</NumberItems>
<Total>3704.00</Total>
<OrderDate>07/07/2002</OrderDate>
<OrderNumber>8876</OrderNumber>
</Order>
然后把Item结点的数据读出。
相关的JS函数如下:
<script language="javascript">
var i = -1;
var orderDoc = new ActiveXObject ("MSXML2.DOMDocument.3.0");
orderDoc.load("order.xml");
var items = orderDoc.documentElement.selectNodes("/Order/Item");
//获得结点文本
function getNode(doc, xpath) {
var retval = "";
var value = doc.documentElement.selectSingleNode(xpath);
if (value) retval = value.text;
return retval;
}
//下一条记录
function getDataNext() {
i++;
if (i > items.length - 1) i = 0;
document.forms[0].SKU.value = getNode(orderDoc, "/Order/Item[" + i + "]/SKU");
document.forms[0].Price.value = getNode(orderDoc, "/Order/Item[" + i + "]/PricePer");
document.forms[0].Quantity.value = getNode(orderDoc, "/Order/Item[" + i + "]/Quantity");
document.forms[0].Total.value = getNode(orderDoc,"/Order/Item[" + i + "]/Subtotal");
document.forms[0].Description.value = getNode(orderDoc, "/Order/Item[" + i + "]/Description");
}
//前一条记录
function getDataPrev() {
i--;
if (i < 0) i = items.length - 1;
document.forms[0].SKU.value = getNode(orderDoc, "/Order/Item[" + i + "]/SKU");
document.forms[0].Price.value = getNode(orderDoc,"/Order/Item[" + i + "]/PricePer");
document.forms[0].Quantity.value = getNode(orderDoc, "/Order/Item[" + i + "]/Quantity");
document.forms[0].Total.value = getNode(orderDoc,"/Order/Item["+ i + "]/Subtotal");
document.forms[0].Description.value = getNode(orderDoc, "/Order/Item[" + i + "]/Description");
}
</script>
下面是测试网页代码:
<body onload="getDataNext()">
<form>
<table border="0">
<tr>
<td>SKU</td>
<td><input type="text" name="SKU"></td>
</tr>
<tr>
<td>Price</td>
<td><input type="text" name="Price"></td>
</tr>
<tr>
<td>Quantity</td>
<td><input type="text" name="Quantity"></td>
</tr>
<tr>
<td>Total</td>
<td><input type="text" name="Total"></td>
</tr>
<tr>
<td>Description</td>
<td><input type="text" name="Description"></td>
</tr>
</table>
<input type="button" value="<<" onClick="getDataPrev()">
<input type="button" value=">>" onClick="getDataNext()">
</form>
</body>
分享到:
相关推荐
标题“msxml3.msi”指的是Microsoft XML Core Services 3.0的安装程序,这是一个关键的系统组件,尤其对于依赖XML技术的软件来说至关重要。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,...
XML解析器的主要职责是读取XML文档,验证其语法正确性,并将其转换为内存中的数据结构,如DOM(Document Object Model)或SAX(Simple API for XML)。DOM解析器将整个XML文档加载到内存中,允许开发者通过节点遍...
2. **XML文档的加载和保存**:MSXML4.DLL支持从文件或内存中加载XML文档,也可以将修改后的文档保存回文件。 3. **XML数据的查询和遍历**:利用XPath(XML Path Language)或XSLT(XML Stylesheet Language ...
IE 中是以ActiveX来支持DOM的,共有5个版本:Microsoft.XmlDom、MSXML2.DOMDocument、MSXML2.DOMDocument.2.0、MSXML2.DOMDocument.3.0和MSXML2.DOMDocument.4.0。 创建方法:在IE中,可以使用以下代码创建一个DOM...
使用JS读取xml文件,这里暂只考虑...= ‘string’) { var versions = [ “MSXML2.DOMDocument.6.0”, “MSXML2.DOMDocument.3.0”, “MSXML2.DOMDocument”, “Microsoft.XMLDOM” ]; var i, len; for (i = 0, len = ve
1. **创建XML Stream对象**:首先,我们需要在VBA代码中创建一个MSXML2.DOMDocument对象,用于处理XML数据。接着创建一个MSXML2.FreeThreadedDOMDocument对象,它是XML Stream的实例。 ```vba Dim xmlDoc As MSXML2...
VB中,可以通过MSXML2.DOMDocument的selectNodes或selectSingleNode方法,或者System.Xml.XmlDocument的SelectNodes和SelectSingleNode方法来使用XPath。 - **修改节点**:VB可以通过DOM接口来添加、删除、修改XML...
这段代码中,`MSXML2.DOMDocument60`是MSXML的一个版本,用来创建一个DOM解析器实例。`async = False`表示同步加载XML文件,确保在`Load`方法执行后,整个XML文档已完全加载。`Load`方法接收XML文件的路径,将其加载...
1. **MSXML2.DOMDocument**: 这是DOM解析的核心类,可以用来加载XML文档,提供查找、修改和保存XML数据的功能。 2. **MSXML2.XMLHTTP**: 用于异步发送HTTP请求获取XML数据,常用于Web服务调用。 3. **MSXML2.SAX...
这里的`L"MSXML2.DOMDocument.3.0"`是XML解析器的版本号,确保与你的系统中安装的MSXML版本相匹配。 在读取XML文件时,可能会遇到中文字符编码问题。XML文件通常以UTF-8或GBK等编码存储,如果编码不匹配,中文字符...
Dim xmlDoc As New MSXML2.DOMDocument60 If Not xmlDoc.Load("example.xml") Then MsgBox "无法加载XML文件!" Exit Sub End If Dim root As MSXML2.IXMLDOMElement Set root = xmlDoc.documentElement ``` 要分...
它为开发者提供了在Windows环境中读取、创建、验证和操作XML数据的能力。MSXML.msi是一个安装程序包,包含了MSXML的核心组件,通常在遇到XML相关错误时,需要下载并安装此文件来解决问题。 XML是一种被广泛使用的...
- 在VB6中,我们可以使用MSXML库(Microsoft XML,版本3.0或更高)来处理XML,引入`Msxml2.DOMDocument`对象,它提供了加载、解析和操作XML文档的方法。 - 在VB.NET(Visual Basic .NET)中,可以使用内置的System...
在VC++中,我们可以利用MSXML库(Microsoft XML Core Services)来操作XML文档,包括创建、读取和修改XML节点。 MSXML库提供了几种不同的接口,如IXMLDOMDocument和IXMLDOMNode,用于XML文档的处理。在创建XML文档...
3. **VBA和XML交互**:使用VBA的MSXML库(如MSXML2.DOMDocument对象)来读取、写入和操作XML文件。这包括加载XML文档、解析节点、修改数据和保存XML。 4. **Workbook_Open事件**:在VBA中,这是特定于Excel的工作簿...
HRESULT hr = CoCreateInstance(__uuidof MSXML2::DOMDocument60), NULL, CLSCTX_INPROC_SERVER, __uuidof(IXMLDOMDocument), (LPVOID*)&pXMLDoc); ``` 3. **加载XML文件**:然后,使用IXMLDOMDocument对象的`load`...
VB中,可以使用`MSXML2.DOMDocument`类来加载和操作XML文件。例如: ```vb Dim xmlDoc As MSXML2.DOMDocument Set xmlDoc = New MSXML2.DOMDocument xmlDoc.async = False xmlDoc.Load "path_to_your_xml_file....
MSXML,全称为Microsoft XML Core Services,是微软提供的一套用于处理XML文档的API,它允许开发者在多种编程环境中,包括C++,进行XML数据的解析、创建、修改和查询。在VS2008环境下,你可以利用MSXML库来实现XML...
Dim xml_document As New MSXML2.DOMDocument ' 加载XML文档 xml_document.Load "C:\path\to\yourfile.xml" ' 或者通过XML字符串加载 Dim xml_str As String xml_str = "<Addresses><Entry Type=""Personal""/>...
4. VB的XML处理:如MSXML库中的DOMDocument类,用于处理XML数据。 通过这个过程,你可以高效地将SQL Server中的表数据转换为XML文件,便于进一步的数据处理和交换。在实际项目中,根据需求,你可能还需要考虑XML的...