如何用xml编写无根列表
我想使用以下格式编写xml文件:如何用xml编写无根列表,xml,xsd,Xml,Xsd,我想使用以下格式编写xml文件: <root> <date> 9:51 AM 10/10/2012 </date> <responseTime> 1.20</responseTime> <employee> <name> Mohammad</name> </employee> <employee> <
<root>
<date> 9:51 AM 10/10/2012 </date>
<responseTime> 1.20</responseTime>
<employee>
<name> Mohammad</name>
</employee>
<employee>
<name> Ali</name>
</employee>
<employee>
<name> Mostafa</name>
</employee>
<employee>
<name> Mahmoud</name>
</employee>
</root>
2012年10月10日上午9:51
1.20
穆罕默德
阿里
莫斯塔法
马哈茂德
我可以用DOM写吗?还是我应该手写
(问题在于employee节点是一个序列,没有直接的父节点来扭曲所有employee元素,而没有
date
和responseTime
元素)我看不出使用DOM执行此操作有什么问题
代码:
public static void main(String[] args) throws ParserConfigurationException, IOException, TransformerException
{
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = builderFactory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element root = document.createElement("root");
document.appendChild(root);
Element emp1 = document.createElement("employee");
Element emp1name = document.createElement("name");
emp1name.setTextContent("Mohammad");
emp1.appendChild(emp1name);
Element emp2 = document.createElement("employee");
Element emp2name = document.createElement("name");
emp2name.setTextContent("Ali");
emp2.appendChild(emp2name);
root.appendChild(emp1);
root.appendChild(emp2);
printDocument(document, System.out);
}
<root>
<employee>
<name>Mohammad</name>
</employee>
<employee>
<name>Ali</name>
</employee>
</root>
输出:
public static void main(String[] args) throws ParserConfigurationException, IOException, TransformerException
{
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = builderFactory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element root = document.createElement("root");
document.appendChild(root);
Element emp1 = document.createElement("employee");
Element emp1name = document.createElement("name");
emp1name.setTextContent("Mohammad");
emp1.appendChild(emp1name);
Element emp2 = document.createElement("employee");
Element emp2name = document.createElement("name");
emp2name.setTextContent("Ali");
emp2.appendChild(emp2name);
root.appendChild(emp1);
root.appendChild(emp2);
printDocument(document, System.out);
}
<root>
<employee>
<name>Mohammad</name>
</employee>
<employee>
<name>Ali</name>
</employee>
</root>
穆罕默德
阿里
您可以在这里看到printDocument
的源代码
可以找到完整的源代码。我认为您可以用DOM编写它(“employee”的父节点是“root”),但是最好用“employee”来包装“employee”节点,例如…“问题在于employee节点是一个没有父节点的序列”-如果不是父节点,那么什么是
?有一个带有日期和响应时间的序列,后跟一个或多个employee实例。一个或多个employee实例本身可能是一个复杂类型。我所说的主要问题是将此序列与responseTime
和date
elements@Muhammad-我看不出序列有问题-检查此链接,它会显示它工作正常:哦,是的。但是我们可以用XSD吗?我需要从一些DTO java对象生成这样的输出来生成这个xml?这是一个完全不同的问题-这是你第一次提到XSD-据我所知,答案是肯定的。您可以为此定义一个XSD。如何定义?请按照我的问题