有一个表格,一个保存按钮。点击保存按钮,使表格里的数据存到xml。请问js该怎么实现?如下图:

JavaScript013

有一个表格,一个保存按钮。点击保存按钮,使表格里的数据存到xml。请问js该怎么实现?如下图:,第1张

一般是模板或者快捷启动的指向文件有变了

可以查下EXCEL的安装目录下的执行文件位置。

与另外一台正常的电脑对比就能查出来。

如果实在不好查,可以点下帮助里的重新修复OFFIC软件。

假设你的XML文件在js中的变量名为 xmldoc,并且已经成功读取试题信息

首先,你能根据页面上标签组装好XML数据流,或者在用户修改操作的时候,将修改的结果即时反应到xmldoc上相应的节点也可以

更改xml节点的操作,首先通过XPath找到节点(node),在通过节点(node)操作node.setAttribute(attrName, value)

4

然后,直接将xmldoc提交给服务端保存就可以了

这个是我用的代码:

if (!window.ActiveXObject) {

Element.prototype.selectNodes = function(sXPath) {

var oEvaluator = new XPathEvaluator()

var oResult = oEvaluator.evaluate(sXPath, this, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null)

var aNodes = new Array()

if (oResult != null) {

var oElement = oResult.iterateNext()

while(oElement) {

aNodes.push(oElement)

oElement = oResult.iterateNext()

}

}

return aNodes

}

Element.prototype.selectSingleNode = function(sXPath) {

var oEvaluator = new XPathEvaluator()

// FIRST_ORDERED_NODE_TYPE returns the first match to the xpath.

var oResult = oEvaluator.evaluate(sXPath, this, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)

if (oResult != null) {

return oResult.singleNodeValue

} else {

return null

}

}

}

function XMLDocument() {

var xmlDoc = null

if (window.ActiveXObject) {

xmlDoc = new ActiveXObject("Microsoft.XMLDOM")

} else if (document.implementation &&document.implementation.createDocument){

// code for Mozilla, Firefox, Opera, etc.

xmlDoc=document.implementation.createDocument("","",null)

} else {

alert('Your browser cannot handle this script')

}

xmlDoc.async=false

return xmlDoc

}

function selectSingleNode(xmlDoc, elementPath) {

if(window.ActiveXObject) {

return xmlDoc.selectSingleNode(elementPath)

} else {

var xpe = new XPathEvaluator()

var nsResolver = xpe.createNSResolver( xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement)

var results = xpe.evaluate(elementPath,xmlDoc,nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE, null)

return results.singleNodeValue

}

}

/*

//var ret = xmlDoc.loadXML("<?xml version=\"1.0\" encoding = \"GB2312\" ?><html>sdfasdfasdf</html>")

//var d = xmlDoc.load(fileName)

var xmlDoc = new XMLDocument()

var s = xmlDoc.loadXML('<t>dsadf</t>')

if( s ) {

var elements = xmlDoc.getElementsByTagName('t')

var element = elements[0]

var newElement = xmlDoc.createElement('DIV')

element.appendChild(newElement)

newElement.text = 'newdivs'

xmlDoc.save('C:\\im.xml')

}

*/

回楼下的朋友,我再前面已经说过提交给服务端,下面的代码只是用来参考,浏览器肯定是没有写权限的

用JS操作XML,对客户端来说只有读取的权限如果需要对XML文件进行修改保存操作,就要用FSO<script type="text/javascript">

function go(){var thebook,root,theelem

var xmldoc=new ActiveXObject("Msxml2.DOMDocument.4.0")

xmldoc.async=false

xmldoc.load("C:\\test.xml")

root=xmldoc.documentElement

// alert(xmldoc.xml)

thebook=xmldoc.createElement("book")

// thebook.setAttribute("id" "15")

theelem=xmldoc.createElement("name")

theelem.text="xinshu"

thebook.appendChild(theelem)

theelem=xmldoc.createElement("price")

theelem.text="20"

thebook.appendChild(theelem)

theelem=xmldoc.createElement("momo")

theelem.text="very good!"

thebook.appendChild(theelem)

root.appendChild(thebook)

// alert(xmldoc.xml)thebook=root.selectSingleNode("/books/book[name='xinshu']")

thebook.setAttribute("id","15")

// alert(xmldoc.xml)

thebook=root.selectSingleNode("/books/book[name='哈里波特']")

thebook.childNodes[1].text="20"

thebook.setAttribute("id","25")

// alert(root.xml)

thebook.parentNode.removeChild(thebook)

alert(xmldoc.xml)

var somebook=root.selectNodes("/books/book[price<10]")

// alert(somebook.xml)

somebook.removeAll()

alert(xmldoc.xml)

xmldoc.loadXML(xmldoc.xml)

xmldoc.save("C:\\test.xml") //会提示权限不足..其实我在想 既然DOM给出了这个方法必然有它的用途,但是目前还没发现它在哪能用到 . 试过多个地方使用 都会出现权限问题 可能是JS本身的限制

// var fso, tf //使用JSO必须安装个插件

// fso = new ActiveXObject("Scripting.FileSystemObject")

// 创建新文件

// tf = fso.CreateTextFile("c:\\testfile.xml", true)

// 填写数据,并增加换行符

// tf.WriteLine("Testing 1, 2, 3.")

// 增加3个空行

// tf.WriteBlankLines(3)

// 填写一行,不带换行符

// tf.Write (xmldoc.xml)

// 关闭文件

// tf.Close()

}

</script>其它参考:http://www.68design.net/Web-Guide/HTMLCSS/9335-1.html