如何将单个单词转换为有效的xml?

时间:2011-01-27 18:19:24

标签: java xml document xml-parsing saxparseexception

我有以下代码将我传入函数的字符串转换为文档:

DocumentBuilderFactory dbFactory_ = DocumentBuilderFactory.newInstance();
Document doc_;

void toXml(String s)
{
   documentBuild();
   DocumentBuilder dBuilder = dbFactory_.newDocumentBuilder();
   StringReader reader = new StringReader(s);
   InputSource inputSource = new InputSource(reader);
   doc_ = dBuilder.parse(inputSource);
}

问题是我正在使用的一些遗留代码传递给这个toXml函数一个单词,如RANDOMFICTION。我想在尝试解析之前将这些调用转换为有效的xml。现在,如果我使用s = FICTION调用该函数,则会返回SAXParseExeption错误。谁能告诉我正确的方法呢?如果您有任何问题,请告诉我。

感谢您的时间

-Josh

2 个答案:

答案 0 :(得分:1)

您是否尝试过看似明显的<FICTION/><FICTION></FICTION>

答案 1 :(得分:1)

这将创建一个带元素测试的XmlDocument

function buildXml(string s) {
    XmlDocument d = new XmlDocument();
    d.AppendChild(d.CreateElement(s));

    StringWriter sw = new StringWriter();
    XmlTextWriter xw = new XmlTextWriter(sw);
    d.WriteTo(xw);
    return sw.ToString();
}

buildXml("Test"); //This will return <Test />

它有点难看,但它会创建XML,而不必自己做任何字符串工作;)

您可以在方法中的try catch中添加它,因此如果它无法直接将其作为XML加载,则将字符串传递给它,然后尝试加载它。