xml: XML code
<admin>
<Attribute id = "Sort">0</Attribute>
<Attribute id = "SortView">0</Attribute>
<Attribute id = "TCView">0</Attribute>
<Attribute id = "Deep">4</Attribute>
<Attribute id = "TCode"></Attribute>
<Nodes>
<_1>
<_1 id="Text">1111</_1>
<_1 id="ID">A-2018</_1>
<_1 id="Deep">0</_1>
<_1 id="Sort">0</_1>
<_1 id="ParentID">null</_1>
<_1 id="Taxis">0</_1>
<_1 id="Display"></_1>
<_1 id="Class"></_1>
<_1 id="Type">0</_1>
<_1 id="TCode"></_1>
</_1>
<_2>
<_2 id="Text">2222</_2>
<_2 id="ID">A-2018</_2>
<_2 id="Deep">0</_2>
<_2 id="Sort">0</_2>
<_2 id="ParentID">null</_2>
<_2 id="Taxis">0</_2>
<_2 id="Display"></_2>
<_2 id="Class"></_2>
<_2 id="Type">0</_2>
<_2 id="TCode"></_2>
</_2>
</Nodes>
</admin>谁能给我提供一个这种xml转成下面的json的javascript 程序,不胜感激 JSON
var Cont = { "Nodes":[
{
"Text" : "1111",
"ID" : "A-2018",
"Deep" : 0,
"Sort" : 0,
"ParentID" : null,
"Taxis" : 0,
"Display" : "",
"Class" : "",
"Type" : 0,
"TCode" : ""
},{
"Text" : "2222",
"ID" : "A-2018",
"Deep" : 0,
"Sort" : 0,
"ParentID" : null,
"Taxis" : 0,
"Display" : "",
"Class" : "",
"Type" : 0,
"TCode" : ""
}], "Attribute":{
"Sort" : 0,
"SortView" : 0,
"TCView" : 0,
"Deep" : 4,
"TCode" : ""
}
}
<admin>
<Attribute id = "Sort">0</Attribute>
<Attribute id = "SortView">0</Attribute>
<Attribute id = "TCView">0</Attribute>
<Attribute id = "Deep">4</Attribute>
<Attribute id = "TCode"></Attribute>
<Nodes>
<_1>
<_1 id="Text">1111</_1>
<_1 id="ID">A-2018</_1>
<_1 id="Deep">0</_1>
<_1 id="Sort">0</_1>
<_1 id="ParentID">null</_1>
<_1 id="Taxis">0</_1>
<_1 id="Display"></_1>
<_1 id="Class"></_1>
<_1 id="Type">0</_1>
<_1 id="TCode"></_1>
</_1>
<_2>
<_2 id="Text">2222</_2>
<_2 id="ID">A-2018</_2>
<_2 id="Deep">0</_2>
<_2 id="Sort">0</_2>
<_2 id="ParentID">null</_2>
<_2 id="Taxis">0</_2>
<_2 id="Display"></_2>
<_2 id="Class"></_2>
<_2 id="Type">0</_2>
<_2 id="TCode"></_2>
</_2>
</Nodes>
</admin>谁能给我提供一个这种xml转成下面的json的javascript 程序,不胜感激 JSON
var Cont = { "Nodes":[
{
"Text" : "1111",
"ID" : "A-2018",
"Deep" : 0,
"Sort" : 0,
"ParentID" : null,
"Taxis" : 0,
"Display" : "",
"Class" : "",
"Type" : 0,
"TCode" : ""
},{
"Text" : "2222",
"ID" : "A-2018",
"Deep" : 0,
"Sort" : 0,
"ParentID" : null,
"Taxis" : 0,
"Display" : "",
"Class" : "",
"Type" : 0,
"TCode" : ""
}], "Attribute":{
"Sort" : 0,
"SortView" : 0,
"TCView" : 0,
"Deep" : 4,
"TCode" : ""
}
}
解决方案 »
- jquery fromvalidator
- 非高手勿进!非专业勿扰!javascript雪花飘飘满天飞(急急急)
- Jquery 如何设置超链接样式
- [求助,急]请教各位大侠,如何实现网站的用户分类注册和登录?
- 发布一个Javascript框架系统
- word 文件改名 求解决
- 在java中s1.endsWith(s2),在javascript中怎么写?
- 一个关于xmlDOM的问题
- 谁有用javascript写的玩21点的源程序?
- TypeScript有害于高级Javascript程序员的修养
- chrome下,用jquery新建word文档。
- 网页最开始加一句js代码,实现让人点击继续就打开网页,点取消就显示空白页,可以实现吗?
<html>
<body>
<script type="text/javascript">
var xml =
'<admin>\n' +
' <Attribute id = "Sort">0</Attribute>\n' +
' <Attribute id = "SortView">0</Attribute>\n' +
' <Attribute id = "TCView">0</Attribute>\n' +
' <Attribute id = "Deep">4</Attribute>\n' +
' <Attribute id = "TCode"></Attribute>\n' +
' <Nodes>\n' +
' <_1>\n' +
' <_1 id="Text">1111</_1>\n' +
' <_1 id="ID">A-2018</_1>\n' +
' <_1 id="Deep">0</_1>\n' +
' <_1 id="Sort">0</_1>\n' +
' <_1 id="ParentID">null</_1>\n' +
' <_1 id="Taxis">0</_1>\n' +
' <_1 id="Display"></_1>\n' +
' <_1 id="Class"></_1>\n' +
' <_1 id="Type">0</_1>\n' +
' <_1 id="TCode"></_1>\n' +
' </_1>\n' +
' <_2>\n' +
' <_2 id="Text">2222</_2>\n' +
' <_2 id="ID">A-2018</_2>\n' +
' <_2 id="Deep">0</_2>\n' +
' <_2 id="Sort">0</_2>\n' +
' <_2 id="ParentID">null</_2>\n' +
' <_2 id="Taxis">0</_2>\n' +
' <_2 id="Display"></_2>\n' +
' <_2 id="Class"></_2>\n' +
' <_2 id="Type">0</_2>\n' +
' <_2 id="TCode"></_2>\n' +
' </_2>\n' +
' </Nodes>\n' +
'</admin>\n';
if (typeof ActiveXObject == 'function')
{
xmldoc = new ActiveXObject('Microsoft.XMLDOM');
xmldoc.loadXML(xml);
} else { // firefox
xmldoc = (new DOMParser()).parseFromString(xml, 'text/xml');
XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function (xpath) {
var xpe = new XPathEvaluator();
var nsResolver = xpe.createNSResolver( this .ownerDocument == null ?
this .documentElement : this .ownerDocument.documentElement);
var result = xpe.evaluate(xpath, this , nsResolver, 0 , null );
var found = [];
var res;
while (res = result.iterateNext())
found.push(res);
return found;
}
}var result =
'var Cont = {\n' +
'\t"Nodes": [\n';
var nodes = xmldoc.selectNodes('admin/Nodes');
if (nodes.length > 0) {
nodes = nodes[0];
var nodeFirst = true;
for (var i = 0; i < nodes.childNodes.length; i++) {
var node = nodes.childNodes[i];
if (node.nodeType == 1) {
result += '\t\t' + (!nodeFirst ? ',' : '') + '{\n';
nodeFirst = false;
var childFirst = true;
for (var j = 0; j < node.childNodes.length; j++) {
var child = node.childNodes[j];
if (child.nodeType == 1) {
result += '\t\t\t' + (!childFirst ? ',' : '') + '"' + child.getAttribute('id') + '": ' + '"' +
(child.childNodes.length > 0 && child.childNodes[0].nodeType == 3 ?
child.childNodes[0].nodeValue : '').replace(/"/, '\\"') + '"\n';
childFirst = false;
}
}
result += '\t\t}\n';
}
}
}
result += '\t]\n';
var nodes = xmldoc.selectNodes('admin/Attribute');
result += '\t,"Attribute":{\n';
var nodeFirst = true;
for (var i = 0; i < nodes.length; i++) {
var node = nodes[i];
if (node.nodeType == 1) {
result += '\t\t' + (!nodeFirst ? ',' : '') + '"' + node.getAttribute('id') + '": ' + '"' +
(node.childNodes.length > 0 && node.childNodes[0].nodeType == 3 ?
node.childNodes[0].nodeValue : '').replace(/"/, '\\"') + '"\n';
nodeFirst = false;
}
}
result += '\t}\n};';
alert(result);
</script>
</body>
</html>输出:
var Cont = {
"Nodes": [
{
"Text": "1111"
,"ID": "A-2018"
,"Deep": "0"
,"Sort": "0"
,"ParentID": "null"
,"Taxis": "0"
,"Display": ""
,"Class": ""
,"Type": "0"
,"TCode": ""
}
,{
"Text": "2222"
,"ID": "A-2018"
,"Deep": "0"
,"Sort": "0"
,"ParentID": "null"
,"Taxis": "0"
,"Display": ""
,"Class": ""
,"Type": "0"
,"TCode": ""
}
]
,"Attribute":{
"Sort": "0"
,"SortView": "0"
,"TCView": "0"
,"Deep": "4"
,"TCode": ""
}
};
<menus>
<menu name="机构管理" url="www.baidu.com" code="001" parentcode =""></menu>
<menu name="用户管理" url="" code="002" parentcode ="">
<menu name="人员1" url="www.baidu.com" code ="061" parentcode ="002"></menu>
<menu name="人员2" url="" code ="062" parentcode ="002">
<menu name="人员22" url="www.baidu.com" code ="0622" parentcode ="062"></menu>
</menu>
</menu>
</menus>
将这个转换为{"menus":
[{
"code":'001',
"name":"机构管理",
"url":"www.baidu.com",
"leaf":1,
"parentcode": ""
},{
"code":"002",
"name":"用户管理",
"url":"www.baidu.com",
"leaf":0,
"parentcode":""
},{
"code":"061",
"name":"人员1",
"url":"www.baidu.com",
"leaf":1,
"parentcode":"002"
},{
"code":"062",
"name":"人员2",
"url":"www.baidu.com",
"leaf":0,
"parentcode":"002"
},{
"code":"0622",
"name":"人员22",
"url":"www.baidu.com",
"leaf":1,
"parentcode":"062"
}]
}
我转了半天没转明白啊,高手帮帮忙
<root>
<node>
</node>
</root>
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
</head>
<body>
<script type="text/javascript">
var xml = '<?xml version="1.0" encoding="GB2312" ?>\n\
<menus>\n\
<menu name="机构管理" url="www.baidu.com" code="001" parentcode =""></menu>\n\
<menu name="用户管理" url="" code="002" parentcode ="">\n\
<menu name="人员1" url="www.baidu.com" code ="061" parentcode ="002"></menu>\n\
<menu name="人员2" url="" code ="062" parentcode ="002">\n\
<menu name="人员22" url="www.baidu.com" code ="0622" parentcode ="062"></menu>\n\
</menu>\n\
</menu>\n\
</menus>\
';
if (typeof ActiveXObject == 'function')
{
xmldoc = new ActiveXObject('Microsoft.XMLDOM');
xmldoc.loadXML(xml);
} else { // firefox
xmldoc = (new DOMParser()).parseFromString(xml, 'text/xml');
XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function (xpath) {
var xpe = new XPathEvaluator();
var nsResolver = xpe.createNSResolver( this .ownerDocument == null ?
this .documentElement : this .ownerDocument.documentElement);
var result = xpe.evaluate(xpath, this , nsResolver, 0 , null );
var found = [];
var res;
while (res = result.iterateNext())
found.push(res);
return found;
}
}var result = [];
function xml2json(element, level, frist, output) {
if (!element) return;
var fieldExists, childExists, i;
output.push([new Array(level).join("\t"), frist ? "" : ",", "{"].join(""));
for (i = 0; i < element.attributes.length; i++) {
var attribute = element.attributes[i];
output.push([new Array(level + 1).join("\t"), fieldExists ? "," : "", '"', attribute.name, '"', ":", '"', attribute.value, '"'].join(""));
fieldExists = true;
}
for (i = 0; i < element.childNodes.length; i++) {
var child = element.childNodes[i];
if (child.nodeType != 1) continue; // 不能是文本节点或者是注释
if (!childExists) {
output.push([new Array(level + 1).join("\t"), fieldExists ? "," : "", '"menus": ['].join(""));
}
xml2json(child, level + 1, !childExists, output);
childExists = true;
}
if (childExists) {
output.push([new Array(level).join("\t"), "]}"].join(""));
} else {
output.push([new Array(level).join("\t"), "}"].join(""));
}
}
xml2json(xmldoc.documentElement, 1, true, result);
alert(result.join("\n"));
</script>
</body>
</html>
"menus": [
{
"name":"机构管理"
,"url":"www.baidu.com"
,"code":"001"
,"parentcode":""
}
,{
"name":"用户管理"
,"url":""
,"code":"002"
,"parentcode":""
,"menus": [
{
"name":"人员1"
,"url":"www.baidu.com"
,"code":"061"
,"parentcode":"002"
}
,{
"name":"人员2"
,"url":""
,"code":"062"
,"parentcode":"002"
,"menus": [
{
"name":"人员22"
,"url":"www.baidu.com"
,"code":"0622"
,"parentcode":"062"
}
]}
]}
]}