相关疑难解决方法(0)

如何删除XML中标记之间的空格

我在我的android应用程序中使用Java创建了一个XML文档.我必须在我的应用程序中调用Web服务并将此XML作为参数传递.但我的问题是在XML中的每个标记之间创建了一个空格.

DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
Document doc = docBuilder.newDocument();

Element root = doc.createElement("subscriber");
doc.appendChild(root);

//creating child node for username
EditText txtusername=(EditText)findViewById(R.id.txtUserName);
subscriber[0]=String.valueOf(txtusername.getText());
Element UserName=doc.createElement("UserName");             
UserName.setTextContent(subscriber[0]);
root.appendChild(UserName);

//creating child node for PASSWORD 
EditText txtPassword=(EditText)findViewById(R.id.txtPassword);
subscriber[1]=String.valueOf(txtPassword.getText());
Element Password=doc.createElement("Password");
Password.setTextContent(subscriber[1]);
root.appendChild(Password);

//set up a transformer
TransformerFactory transfac = TransformerFactory.newInstance();
Transformer trans = transfac.newTransformer();
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
trans.setOutputProperty(OutputKeys.INDENT, "yes");

//create string from xml tree
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
trans.transform(source, result); …
Run Code Online (Sandbox Code Playgroud)

xml android

8
推荐指数
3
解决办法
3万
查看次数

如何让 Java.xml.Transformer 输出一个没有任何无用空格或换行符的 xml?

我现在的代码:

import org.w3c.dom.Node;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.StringWriter;

private String getStringByJAXP(Node input) {
        StreamResult xmlOutput;
        try {
            xmlOutput = new StreamResult(new StringWriter());
            transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
            transformer.transform(new DOMSource(input), xmlOutput);
        } catch (TransformerException e) {
            throw new IllegalArgumentException();
        }
        return xmlOutput.getWriter().toString();
    }
Run Code Online (Sandbox Code Playgroud)

输出:

<aaa>
    <a>text a</a>
    <b>
        <c>text c</c>
    </b>
    <f>
        <g><h a="xxx"/></g>
    </f>
</aaa>
Run Code Online (Sandbox Code Playgroud)

但我想输出如下:

<aaa><a>text a</a><b><c>text c</c></b><f><g><h a="xxx" /></g></f></aaa>
Run Code Online (Sandbox Code Playgroud)

请注意,我无法通过一些简单的字符串替换来完成该任务,因为<a>text a</a>不应替换 …

java xml jaxp

5
推荐指数
1
解决办法
6489
查看次数

java中的内置函数,用于删除XML标记之间的空间

是否有任何内置函数可用于删除XML标记之间的内容(例如:空格):

 <student> <name>miya</name> <number>12</number> </student> 
Run Code Online (Sandbox Code Playgroud)

我想将上述文件转换为:

 <student><name>miya</name><number>12</number></student>
Run Code Online (Sandbox Code Playgroud)

通过删除白色空间?

谢谢...

xml whitespace android

-2
推荐指数
1
解决办法
5796
查看次数

标签 统计

xml ×3

android ×2

java ×1

jaxp ×1

whitespace ×1