我正在将XML返回到一个jsp页面。
HashMap<String, Object> m = new HashMap<String, Object>();
XStream xstream = new XStream();
xstream.alias("Task", Task.class);
xstream.alias("Tasks", Vector.class);
m.put("task", task);
m.put("xml", xstream.toXML(l));
return new ModelAndView("task", m);
最终的XML结构如下所示:
<Tasks>
<Task>
<TaskId>1<TaskId>
<TaskName>Task 1</TaskName>
etc...
</Task>
的根节点作为向量返回,我使用xtream将其别名为“tasks”,如上图所示。
<Tasks myId="5">
<Task>
<TaskId>1</TaskId>
<TaskName>Task 1</TaskName>
</Task>
<Task>
<TaskId>2</TaskId>
<TaskName>Task 2</TaskName>
</Task>
...
<Task>
<TaskId>5</TaskId>
<TaskName>Task 5</TaskName>
</Task>
etc
如何使用XStream实现这一点?我需要使用XSLT文件来转换XML输出吗?完成这一点的最佳方法是什么?
您可以通过在marshal方法中为任务和设置属性字段编写一个转换器来实现,
Writer.AddAttribute(“myDTL”,Tasks.Get(2).GetTaskName());
参见以下创建转换器的链接,
我有一个XML: 我想向根元素:/doc添加一个属性(名称空间),以便输出如下所示: 我尝试了三种xslt(跳过了默认的“复制所有”部分以减少问题的长度)。 xslt1:见下文,问题在于将空名称空间xmlns=”“添加到/doc的所有子节点(即:/doc/tag1和/doc/tag2) Xslt2:见下文,问题是“ns”被添加到根节点:和 xslt3:请参见下文,问题是报告了错误:未定义名称空间前
我想用XStream将一个对象序列化为这种形式的XML。 在StackOverflow中已经有一个解决方案:XStream:node with attributes and text node?但它对我不起作用,因为我只能使用XStream1.3.1。
我试图添加一个属性到一个节点,它是CDATA的一部分。我的XML是 结果应该是xml 文档节点中的id属性应作为属性添加到CDATA中的节点。 我能够以字段[@name='CDATA']的形式获取CDATA值,但我不确定如何将文档的属性添加到CDATA中。。 谁能给我建议一下怎么做,或者给我指出正确的方向?
问题内容: 我想使用XStream将对象序列化为这种形式的XML。 节点( 文本 )的值是序列化对象以及 att 属性上的字段。无需为此对象编写转换器就可以吗? 谢谢! 问题答案: 写一个转换器,应该类似于代码片段 在使用XStream时,注册转换器
问题内容: 我想向现有的xml节点添加属性。我不想向xml文件添加新元素(新节点),我只想添加新属性。我怎样才能做到这一点? 特别是我尝试了以下代码行: 但是我得到以下异常: 问题答案: 在DOM解析器中,这非常容易。获取您的节点,只需使用此功能。 然后最后更新您的文档。像这样..
问题内容: 如果我想向根元素记录添加属性,可以从sql端执行此操作吗? 我想产生这样的xml: 问题答案: 使用新的语法: 这会给像 在这里阅读更多关于它的信息: 使用T-SQL创建XML文件的简单示例 将XML序列化与SQL的FOR XML PATH一起使用