相关疑难解决方法(0)

XMLStreamWriter writeCharacters没有转义

如何使用XMLStreamWriter准确写出我输入的内容?例如,如果我创建脚本标记并用javascript填充它,我不希望我的所有单引号都出现为'

这是我写的一个小测试,它没有使用我已经实现的任何抽象,只是调用writeCharacters.

  public void testWriteCharacters() {
    StringWriter sw = new StringWriter();
    XMLOutputFactory factory = XMLOutputFactory.newInstance();

    StringBuffer out = new StringBuffer();
    try {
      XMLStreamWriter writer = factory.createXMLStreamWriter(sw);
      writer.writeStartElement("script");
      writer.writeAttribute("type","text/javascript");
      writer.writeCharacters("function hw(){ \n"+
      "\t alert('hello world');\n" +
      "}\n");
      writer.writeEndElement();
      out.append(sw);
    } catch (XMLStreamException e) {
    } finally {
      try {
        sw.close();
      } catch(IOException e) {
        e.printStackTrace();
      }
    }
    System.out.println(out.toString());
  }
Run Code Online (Sandbox Code Playgroud)

这为围绕hello world的单引号生成了一个实体.

java xml

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

标签 统计

java ×1

xml ×1