使用xmlwriter向服务器发送响应时,根标记将始终添加到请求中:
如果我想发布一个项目:
<book>
<id></id>
<title></title>
<publisher></publisher>
</book>
实际生成的xml是:
<xmlData>
<book>
<id></id>
<title></title>
<publisher></publisher>
</book>
</xmlData>
我可以确保只发布一条记录:每个请求一本书
如何删除xmlData元素?也就是说,将书签作为根元素
extjs文件说:
Ext.data.writer.Xml documentRoot:String
文档根元素的名称。默认为'xmlData'。如果超过1条记录并且未指定根,则仍将使用默认文档根目录来确保创建有效的XML文档。
我的理解是,如果只有一条记录,则不会使用默认文档根目录。我对吗?但实际上,即使只有一条记录,仍会添加根元素“xmlData”。
由于
答案 0 :(得分:1)
Ext.data.writer.Xml
类有两个与根元素相关的配置属性:documentRoot
和defaultDocumentRoot
。如您所述,文档说:
如果有多个记录并且未指定root,则仍将使用默认文档根目录来确保创建有效的XML文档。
换句话说,如果documentRoot
为空,但写入了多条记录,则defaultDocumentRoot
的值将用作根元素。在您的情况下,只有一条记录,但documentRoot
不为空,因为其默认值为“xmlData”。
要省略单个记录的根元素,则需要将documentRoot
显式设置为null:
new Ext.data.writer.Xml({ documentRoot: null });