jdomwriter.java
来自「Xfire文件 用于开发web service 的一个开源工具 很好用的」· Java 代码 · 共 104 行
JAVA
104 行
package org.codehaus.xfire.aegis.jdom;import javax.xml.namespace.QName;import javax.xml.stream.XMLStreamWriter;import org.codehaus.xfire.aegis.AbstractMessageWriter;import org.codehaus.xfire.aegis.MessageWriter;import org.codehaus.xfire.util.NamespaceHelper;import org.jdom.Attribute;import org.jdom.Element;import org.jdom.Namespace;public class JDOMWriter extends AbstractMessageWriter{ private Element element; public JDOMWriter(Element element) { this.element = element; } public void writeValue(Object value) { element.addContent(value.toString()); } public void writeValue(Object value, String ns, String attr) { String prefix = NamespaceHelper.getUniquePrefix(element, ns); element.setAttribute(new Attribute(attr, value.toString(), Namespace.getNamespace(prefix, ns))); } public MessageWriter getElementWriter(String name) { return getElementWriter(name, element.getNamespaceURI()); } public MessageWriter getElementWriter(String name, String namespace) { String prefix = NamespaceHelper.getUniquePrefix(element, namespace); Element child = new Element(name, Namespace.getNamespace(prefix, namespace)); element.addContent(child); return new JDOMWriter(child); } public MessageWriter getElementWriter(QName qname) { return getElementWriter(qname.getLocalPart(), qname.getNamespaceURI()); } public String getPrefixForNamespace( String namespace ) { return NamespaceHelper.getUniquePrefix(element, namespace); } public XMLStreamWriter getXMLStreamWriter() { throw new UnsupportedOperationException("Stream writing not supported from a JDOMWriter."); } public String getPrefixForNamespace(String namespace, String hint) { // todo: this goes for the option of ignoring the hint - we should probably at least attempt to honour it return NamespaceHelper.getUniquePrefix(element, namespace); } public MessageWriter getAttributeWriter(String name) { Attribute att = new Attribute(name, "", element.getNamespace()); element.setAttribute(att); return new AttributeWriter(att); } public MessageWriter getAttributeWriter(String name, String namespace) { Attribute att; if (namespace != null && namespace.length() > 0) { String prefix = NamespaceHelper.getUniquePrefix(element, namespace); att = new Attribute(name, "", Namespace.getNamespace(prefix, namespace)); } else { att = new Attribute(name, ""); } element.setAttribute(att); return new AttributeWriter(att); } public MessageWriter getAttributeWriter(QName qname) { return getAttributeWriter(qname.getLocalPart(), qname.getNamespaceURI()); } public void close() { }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?