Tôi đang tìm kiếm mã Java ví dụ có thể xây dựng một tài liệu XML sử dụng các không gian tên. Tôi không thể tìm thấy bất cứ điều gì bằng cách sử dụng bình thường của tôi favourite tool vì vậy đã hy vọng một ai đó có thể giúp tôi ra ngoài.Tạo một tài liệu XML bằng cách sử dụng các không gian tên trong Java
18
A
Trả lời
14
Tôi không chắc chắn, những gì bạn đang cố gắng làm, nhưng tôi sử dụng jdom cho hầu hết các vấn đề xml của mình và nó hỗ trợ không gian tên (tất nhiên).
Mã:
Document doc = new Document();
Namespace sNS = Namespace.getNamespace("someNS", "someNamespace");
Element element = new Element("SomeElement", sNS);
element.setAttribute("someKey", "someValue", Namespace.getNamespace("someONS", "someOtherNamespace"));
Element element2 = new Element("SomeElement", Namespace.getNamespace("someNS", "someNamespace"));
element2.setAttribute("someKey", "someValue", sNS);
element.addContent(element2);
doc.addContent(element);
tạo xml sau:
<?xml version="1.0" encoding="UTF-8"?>
<someNS:SomeElement xmlns:someNS="someNamespace" xmlns:someONS="someOtherNamespace" someONS:someKey="someValue">
<someNS:SomeElement someNS:someKey="someValue" />
</someNS:SomeElement>
nào nên chứa tất cả mọi thứ bạn cần. Hy vọng rằng sẽ giúp.
20
Có một số cách để thực hiện việc này. Chỉ cần một vài ví dụ:
Sử dụng XOM
import nu.xom.Document;
import nu.xom.Element;
public class XomTest {
public static void main(String[] args) {
XomTest xomTest = new XomTest();
xomTest.testXmlDocumentWithNamespaces();
}
private void testXmlDocumentWithNamespaces() {
Element root = new Element("my:example", "urn:example.namespace");
Document document = new Document(root);
Element element = new Element("element", "http://another.namespace");
root.appendChild(element);
System.out.print(document.toXML());
}
}
Sử dụng Java Thực hiện W3C DOM
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSOutput;
import org.w3c.dom.ls.LSSerializer;
public class DomTest {
private static DocumentBuilderFactory dbf = DocumentBuilderFactory
.newInstance();
public static void main(String[] args) throws Exception {
DomTest domTest = new DomTest();
domTest.testXmlDocumentWithNamespaces();
}
public void testXmlDocumentWithNamespaces() throws Exception {
DocumentBuilder db = dbf.newDocumentBuilder();
DOMImplementation domImpl = db.getDOMImplementation();
Document document = buildExampleDocumentWithNamespaces(domImpl);
serialize(domImpl, document);
}
private Document buildExampleDocumentWithNamespaces(
DOMImplementation domImpl) {
Document document = domImpl.createDocument("urn:example.namespace",
"my:example", null);
Element element = document.createElementNS("http://another.namespace",
"element");
document.getDocumentElement().appendChild(element);
return document;
}
private void serialize(DOMImplementation domImpl, Document document) {
DOMImplementationLS ls = (DOMImplementationLS) domImpl;
LSSerializer lss = ls.createLSSerializer();
LSOutput lso = ls.createLSOutput();
lso.setByteStream(System.out);
lss.write(document, lso);
}
}
Các vấn đề liên quan
- 1. Tạo một tài liệu XML cụ thể bằng cách sử dụng các không gian tên trong C#
- 2. Tài liệu XML cho không gian tên
- 3. Cách tạo tài liệu XML bằng cách sử dụng XmlDocument?
- 4. Không gian tên trống bằng cách sử dụng LINQ Xml
- 5. Tạo một tài liệu XML có phần tử gốc không gian tên với trình tạo Nokogiri
- 6. XSL: Tránh xuất khẩu defintions không gian tên để tạo ra các tài liệu XML
- 7. Vấn đề với XSLT nơi tài liệu xml nguồn sử dụng không gian tên mặc định
- 8. Tìm hiểu URI không gian tên mặc định từ một tài liệu XML trong C#
- 9. Thêm không gian tên vào tài liệu XML đã được tạo
- 10. Hiểu tài liệu không gian tên
- 11. Cách thêm không gian tên trong khi ký tệp XML bằng cách sử dụng javax.xml.crypto.dsig. *?
- 12. loại bỏ khai xml từ tài liệu xml tạo sử dụng java
- 13. Cách sử dụng các tệp tài liệu XML
- 14. Dữ liệu POST xml bằng cách sử dụng java
- 15. Tạo tài liệu SVG/XML không có vùng tên ns0 bằng Python ElementTree
- 16. Cách sử dụng không gian tên khi viết tệp XML bằng SimpleXML
- 17. Làm cách nào để truy cập các phần tử XML không gian tên bằng cách sử dụng BeautifulSoup?
- 18. Bạn có thể tạo kiểu dáng các phần tử XHTML trong một không gian tên khác bằng cách sử dụng các bộ chọn css tên và lớp không?
- 19. Cách sử dụng không gian tên org.apache.commons.lang trong Java?
- 20. Cách đọc các nhận xét tài liệu XML bằng cách sử dụng Roslyn
- 21. Sử dụng XPath để phân tích một tài liệu XML
- 22. Thay đổi không gian tên XML bằng Scala
- 23. Làm thế nào để tránh không gian tên trong các nút con bằng cách sử dụng FOR XML PATH?
- 24. Tạo một băm tài liệu XML trong C#
- 25. Tạo HTML tài liệu theo lập trình bằng cách sử dụng Java
- 26. cách sử dụng không gian tên Yii
- 27. Đặt không gian tên và tiền tố trong tài liệu Java DOM
- 28. XML IDREF một tài liệu XML khác?
- 29. Hỗ trợ Ruby cho các không gian tên XML
- 30. webdriver classname với không gian bằng cách sử dụng java
Và nếu bạn muốn tên phần tử với tiền tố (sử dụng XOM), chỉ cần gọi mới Element ("tiền tố : element "," urn: example.namespace "); –