Szukam przykładowego kodu Java, który potrafi skonstruować dokument XML, który używa przestrzeni nazw. Nie mogę znaleźć niczego, używając normalnego favourite tool, więc miałem nadzieję, że ktoś może mi pomóc.Tworzenie dokumentu XML z wykorzystaniem przestrzeni nazw w Javie
18
A
Odpowiedz
14
Nie jestem pewien, co próbujesz zrobić, ale używam jdom dla większości moich problemów xml i obsługuje przestrzenie nazw (oczywiście).
Kod:
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);
produkuje następujące xml:
<?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>
która powinna zawierać wszystko, czego potrzeba. Nadzieja, która pomaga.
20
Istnieje wiele sposobów na zrobienie tego. Zaledwie kilka przykładów:
Korzystanie 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());
}
}
Korzystanie Java Realizacja 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);
}
}
Powiązane problemy
- 1. Tworzenie określonego dokumentu XML z wykorzystaniem przestrzeni nazw w C#
- 2. Wyodrębnianie danych z dokumentu XML korzystającego z przestrzeni nazw
- 3. Tworzenie dokumentu xml z pythonem/ElementTree i przestrzeniami nazw
- 4. Parsowanie przestrzeni nazw XML?
- 5. Zmienianie przestrzeni nazw XML za pomocą Scala
- 6. Jak wywołać adres URL struktury Django z wykorzystaniem przestrzeni nazw?
- 7. JAXB i mniej przestrzeni nazw XML
- 8. C# XML - Multiple deklaracja przestrzeni nazw z XML Writer
- 9. Jak korzystać z przestrzeni nazw org.apache.commons.lang w Javie?
- 10. Serializacja XML i przedrostki przestrzeni nazw
- 11. Osadzanie dokumentu xml wewnątrz ciągu xml
- 12. proste xml dodaj przestrzeni nazw dziecko
- 13. PHP parsowania tylko przestrzeni nazw xml
- 14. Tworzenie poprawnych nazw plików w Javie
- 15. Jak używać przestrzeni nazw xml z find/findall w lxml?
- 16. zapytanie XML podczas ignorowania przestrzeni nazw?
- 17. Wyrażenie xpath z xml z prefiksem przestrzeni nazw
- 18. Tworzenie dokumentu XML za pomocą BeautifulSoup
- 19. Konstruktorzy wewnątrz przestrzeni nazw
- 20. Najlepsze praktyki: używanie przestrzeni nazw lub ponowne otwieranie przestrzeni nazw?
- 21. składni XML z przestrzeniami nazw w języku Java z wykorzystaniem XPath
- 22. Parsowanie XML z XPath i przestrzeniami nazw w Javie
- 23. Dostęp do globalnej przestrzeni nazw C++ z innej przestrzeni nazw
- 24. Problem z XSLT, w którym dokument źródłowy xml używa domyślnej przestrzeni nazw
- 25. Usunąć deklarację przestrzeni nazw XML z wyjściowego katalogu głównego XSLT?
- 26. Tworzenie dokumentu XMERL w Erlang
- 27. Serializuj do fragmentu XML - nie do dokumentu XML
- 28. Czy jest łatwiejszy sposób podpisywania dokumentu XML w Javie?
- 29. Zmienianie przestrzeni nazw dla pliku XML w XSL Tłumaczenie
- 30. Deklarowanie atrybutu dla innej przestrzeni nazw w schemacie XML
A jeśli chcesz nazwę elementu z przedrostkiem (używając Xóm), po prostu zadzwoń do nowego elementu ("prefiks : element "," urn: example.namespace "); –