JavaScript学习笔记13 JavaScript与XML

【鸿蒙基于API 13实战开发】—— XML生成、解析与转换 XML(可扩展标记语言)是一种用于描述数据的标记语言,旨在提供一种通用的方式来传输和存储数据,特别是Web应用程序中经常使用的数据。XML并不预定义标记。因此,XML更加灵活,并且可以适用于广泛的应用领域。XML文档由元素(element)、属性(attribute)和内容(content)组成。元素指的是标记对,包含文本、属性或其他元素。属性提供了有关元素的其他信息。内容则是元素包含的数据或子元素。XML还可以通过使用XML Schema或DTD(文档类型定义)来定义文档结构。 阅读详情

创建和解析XML文档

DOM2级创建XML文档

var xmldom = document.implementation.createDocument(namespaceuri,root,doctype);
// 其中namespace为命名空间,很少用到。
// root为根元素的标签名
// doctype为文档内型,也很少用到

示例

var xmldom = document.implementation.createDocument("",root,null);

alert(xmldom.document.tagName);   //"root"

var child = document.createElement("child");
xml.documentElement.appendChild(child);

DOMParser解析XML文档
首先需要创建一个DOMParser类型的实例,然后再调用parseFromString()方法,该方法接受两个参数,要解析的XML字符串和内容类型(”text/xml”),返回一个document实例

var parser = new DOMParser();
var xmldom = parser.parseFromString("<root><child></child></root>","text/xml");

alert(xmldom.documentElement.tagName);  //"root"
alert(xmldom.documentElement.firstChild.tagName);  //"child"
  • DOMParser只能解析格式良好的XML,因此不能解析HTML,否则会发生解析错误

XMLSerializer类型
与DOMParser相反,该类型的serializeToString()方法将DOM文档序列化为字符串

var serializer = new XMLSerializer();
var xml = serializer.serializeToString(xmldom);
alert(xml);
  • 不仅包括个别节点,也包括HTML文档,也能解析为字符串

IE创建和解析XML字符串
在IE中创建一个XML文档的实例,需要先创建ActiveX对象的实例,并传入一个表示XML文档版本的字符串

var xmldom = new ActiveXObject("MSXML2.DOMDocument.6.0");

解析XML字符串,需要先用上述方法创建一个DOM文档,然后调用loadXML()方法,传入的XML字符串会解析到DOM文档中

xmldom.loadXML("<root><child></child></root>");

alert(xmldom.documentElement.tagName);  //"root"
alert(xmldom.documentElement.firstChild.tagName);  //"child"

在IE中序列化XML非常简单,XML字符串被保存在每个结点的xml属性中

alert(xmldom.xml);

可以通过load()方法加载来自服务器的文件,接受一个参数,即url。可以设置async属性,true表示异步,false表示同步

var xmldom = new ActiveXObject("MSXML2.DOMDocument.6.0");
xmldom.async = false;
xmldom.load("example.xml");
  • 虽然此种方法可以加载,公认还是使用XMLHttp-Request对象加载XML文件比较好

XPath

XPath用来在DOM文档查找节点,其使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

非IE浏览器
使用evaluate()方法选择节点,接受5个参数,XPath表达式,上下文节点,命名空间求解器(存在命名空间时使用,否则为null),返回结果的类型和保存结果的XPathResult对象(通常为null)。

常用的返回结果类型:
XPathResult.ANY_TYPE(返回与XPath表达式匹配的数据类型)
XPathResult.ORDERED_NODE_ITERATOR_TYPE(返回匹配的节点集合,需用iterateNext()方法从节点集合中取得匹配的节点)
XPathResult.FIRST_ORDERED_NODE_TYPE(返回第一个匹配的节点)

var results = xmldom.evalute("employee/name",xmldom.documentElement,null,
                XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);
if (result !== null){
    var element = result.iterateNext();
    while(element){
        alert(element.tagName);
        node = result.iterateNext();
    }
}

当XML文档使用的命名空间时,需要通过createNSResolver()来创建XPathNSResolver对象,该方法接受一个参数,即文档中包含命名空间定义的节点。

var nsresolver = xmldom.createNSResolver(xmldom.documentElement);

var result = xmldom.evalute("wrox:book/wrox:author",xmldom.documentElement,
                    ,nsresolver,nsresolver,XPathResult.ANY_TYPE,null);

IE浏览器
返回第一个匹配的节点,使用selectSingleNode()方法,接受一个参数,即XPath模式

var element = xmldom.documentElement.selectSingleNode("employee/name");

返回匹配的节点集合,使用selectNodes()方法,接受一个参数,即XPath模式

var elements = xmldom.documentElement.selectNodes("employee/name");

对于有命名空间的XML文档,必须知道按下列格式创建一个字符串,并将该字符串传入setProperty()中,设置属性名为”SelectionNamespaces”

"xmlns:prefix1='uri1' xmlns:prefix2='uri2' xmlns:prefix3='uri3'"
xmldom.setProperty("SelectionNamespaces","xmlns:wrox='http://www.wrox.com'");

var result = xmldom.documentElement.selectNodes("wrox:book/wrox:author");
alert(result.length);
47、JavaScript与XML及插件的应用实践 本文详细介绍了JavaScript如何操作XML数据,并将其以表格形式展示在网页上。同时探讨了XML的基本用途、语法规则以及如何通过JavaScript加载和显示数据。文章还全面解析了在Firefox和Internet Explorer浏览器中使用插件和ActiveX控件的方法,包括插件的嵌入方式、安装检测、参数设置以及兼容性处理。通过案例分析和代码示例,帮助开发者更好地实现跨浏览器的功能扩展和用户体验优化。 阅读详情

相关推荐

13、客户端的XML:在Web应用程序中嵌入和操作XML数据

本文详细介绍了如何在Web应用程序的客户端使用XML技术,涵盖XML数据嵌入、访问和操作等方面。通过结合JavaScript、AJAX以及HTML5本地存储等技术,实现动态页面更新、数据可视化及性能优化,帮助开发者提升用户体验。

gitlab7runner的博客 322

41-JavaScript高级程序设计-JavaScript与XML

一、JavaScript 与 XML 1. 浏览器对 XML DOM 的支持 document.implementation 引入方法 createDocument()。 浏览器支持:IE9+、Firefox、Opera、Chrome 和 Safari。 var xmldom = document.implementation.createDocument(namespaceUri, root, ...

dandan666dandan的博客 460

JavaScript实现的流行rot13加密工具:简易但受欢迎

本文还有配套的精品资源,点击获取 简介:文章标题中的"rot13"指的是一个简单字符替换算法,而作者自谦"烂"可能是对自己实现的谦虚评价,尽管如此,该工具因其简易性和趣味性而广受欢迎。本文将详细介绍rot13算法,并探讨如何用JavaScript语言实现它。内容涉及rot13算法的工作原理、JavaScript基础、编码实现、函数封装、用户交互、界面更新、代码优化以及社区反...

weixin_42577735的博客 1624

javascript和XML

一,浏览器对XML DOM的支持1,DOM2级核心   var xmldom = document.implementation.createDocument("","root",null);(命名空间,元素标签,文档类型)   var child = xmldom.createElement("child");   xmldom.documentElement.appendChild(child...

weixin_30335353的博客 144

JavaScript与xml结合的实例

JavaScript与xml结合的实例,实现分页技术!

Kubernetes集群环境搭建与初始化

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

m0_75254642的博客 1525

JavaScript 中 xml 基本使用

目录 一、xml 概述 1、xml 简介 2、xml 的应用 二、xml 语法 1、xml 文档申明 2、xml 元素定义 3、xml 标签的命名规则 4、xml 中属性定义 5、xml 中特殊字符 6、CDARA 区 7、PI 指令(处理指令) 一、xml 概述 1、xml 简介 xml 是w3c组织发布的技术,xml 有两个版本,1.0和1.1的版本,一般使用的是1...

ONESTARの博客 3642

【ZZULIOJ】郑州轻工业大学oj题解整合

写在前面 关于ZZULIOJ题解 学习编程,想要巩固无非就是刷题或者做项目,然后因为我大一开始是刷郑轻的题目,就想着自己整合一下自己写的题目。既是复习也是笔记吧。 题解(内有题目描述) 1000 整数a+b 1001 植树问题 1002 简单多项式求值 1003 两个整数的四则运算 1004 三位数的数位分离 1005 整数幂 1006 求等差数列的和 1007 鸡兔同笼 1008 美元和人民币 1009 求平均分 1010 求圆的周长和面积 1011 圆柱体表面积 1012 求绝对值 1013 求两点间

蒟蒻乱写的博客 29万+

JSON与XML的区别比较

1.定义介绍 (1).XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。XML是标准通用标...

weixin_33804582的博客 1132

数据库原理及应用教程课后习题答案 第4版 微课版 陈志泊主编

数据库原理及应用教程 第4版 微课版 陈志泊主编 习题参考答案

共同学习,心怀感激。 5万+

thinkphp5.0.24反序列化漏洞分析

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

m0_67392182的博客 1871

xml-js 项目使用教程

``` xml-js/ ├── bin/ │ └── xml-js ├── lib/ │ ├── converters.js │ ├── options.js │ ├── utils.js │ └── xml-js.js ├── test/ │ ├── test-cases.js │ └── test.js ├── .gitignore ├── .npmignore ├...

gitblog_01095的博客 750

冗余位技术在SAR ADC中的动态误差恢复机制解析

本文深入解析了冗余位技术在SAR ADC中的动态误差恢复机制,详细介绍了其基本概念、动态误差产生原因及冗余位的容错空间设计、时序松弛策略和数字校正算法。通过实际电路设计案例和数学建模,展示了冗余位技术如何显著提升ADC的精度和能效比,同时探讨了未来发展方向。

weixin_28335283的博客 975

JavaScript解析XML文档成树菜单

1.解析xml的BlueParseXML.js文件/** * @description 解析并封装XML * @author BluesLee * @lastModif BluesLee * @createDate 2007-10-13 * @modifDate 2007-10-15 * @version 1.0 */ //解析XML文件对象构造器

深蓝忧郁的技术空间 5749

从零开始用TS开发babylonjs - 本机环境搭建

babylonjs,初始化本地安装,web3d引擎

han3527638的专栏 794

ZY1-02D (ZY1E)多光谱数据预处理

资源一号02D卫星(5米光学卫星)于2019年9月12日成功发射,卫星搭载的两台相机,可有效获取115公里幅宽的9谱段多光谱数据以及60公里幅宽的166谱段高光谱数据,其中全色谱段分辨率可达2.5米、 多光谱为10米、高光谱优于30米,高光谱载荷可见近红外和短波红外光谱分辨率分别达到10纳米和20纳米。

热爱分享,热爱记录 4832

【译】用jQuery 处理XML--浏览器中的XML与JavaScript

用jQuery 处理XML--写在前面的话 用jQuery 处理XML-- DOM(文本对象模型)简介 用jQuery 处理XML--浏览器中的XML与JavaScript 用jQuery 处理XML-- jQuery与XML 原文:Processing XML with ...

chenmian6513的博客 166

芒果YOLOv8改进165:损失函数angleLoss:即插即用 | 独家首发原创新颖|公开数据集DOTA高效无损涨点0.5% | 旋转检测

YOLOv8改进:旋转检测Loss损失函数angleLoss:即插即用 | 独家首发原创新颖|公开数据集DOTA高效无损涨点0.5%

包括YOLOv5、YOLOv7、YOLOv8等模型改进 1150

JavaScript实现解析xml文件数据

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。文件,xml格式的数据很普遍,特别是一些老项目普遍都用xml格式的数据。在ajax里有个responseXML就返回的是xml格式的数据,下面是js如何解析xml文件,获得里面的数据。解释xml文件,要注意先解析为dom树和节点的获取以及子节点的获取。...

目标检测专栏持续更新中,改进YOLO系列通用,适用v5、v7、v8、所有博客均是团队原创博客,所有文章禁止转载,违者必究。 2298

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

js操作xml

JS操作XML 2009年11月18日 星期三 11:51 DOMDocument 属性和方法 最近发现DOMDocument对象很重要,还有XMLHTTP也很重要 注意大小写一定不能弄错. 属性: 1Attributes     存储节点的属性列表(只读) 2childNodes     存储节点的子节点列表(只读) 3dataType     返回此节点的数据类型 4Definiti...

泥瓦匠 342

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

js 操作xml文件 总结

[code="html"] // 加载xml文档 loadXML = function(xmlFile){ var xmlDoc; if(window.ActiveXObject){ xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); xmlDoc.async = false; xmlDoc.load(xml...

 対苩 318

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JavaScript 学习笔记 - 13 Ajax 简介

如何在后台向服务器请求信息,并且将它转换为 Ajax 应用程序可以使用的形式,自动刷新来自服务器的信息,为页面上的对象构建很酷的预览效果,以及构建一个 Ajax 应用程序,它能够像桌面应用程序那样自动补全表单字段

泛红尘的博客 439

JavaScript解析XML实现多级级联下拉列表

1.创建XML文档:cascaded_select.xmlxml version="1.0" encoding="GBK"?>select>    province key="sx" value="陕西">        city key="xa" value="西安"/>        city key="bj" value="宝鸡"/>        city key="wn" val

深蓝忧郁的技术空间 5023

69 使用传统JavaScript调用XML的方法

1.效果图 2.HTML代码 2.1 javaScript_xml.html页面代码 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;title&gt;69 使用传统JavaScript调用XML的方法&lt;/title&gt; &lt;style

LiGuogang 606

XML和JavaScript

    在数据岛中,可以使用JavaScript把XML文档作为一个对象来操作。同样在本实例中也得到了具体的体现。    首先编写该实例的首页,即index.xml。打开记事本,在里面输入下列代码:实例代码11-12    将该文件保存,文件名为index.xml,保存位置在Example文件夹。该文件只定义了一个可的XML文件。打开记事本,编写XML文件需要引入的

somboy的专栏 1130

JavaScript解析XML实现两级级联下拉列表

 1.创建测试XML文件:select.xmlxml version="1.0" encoding="GBK"?>select>    province id="sx">        陕西        city id="xa">西安city>        city id="bj">宝鸡city>        city id="ak">安康city>    province>  

深蓝忧郁的技术空间 2582
上一篇: XML学习笔记3 XPath
下一篇: Javascript学习笔记14 JSON
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值