如何从String中删除Xml版本字符串
我使用下面给出的代码阅读了Xml文件 –
String XmlString = ""; String resourcePath=FilePathHelper.getResourceFilePath(request); BufferedReader br = new BufferedReader(new FileReader(new File(resourcePath+ "SubIndicatorTemplate.xml"))); String line; StringBuilder sb = new StringBuilder(); while((line=br.readLine())!= null){ sb.append(line.trim()); } XmlString=sb.toString();
现在我以下面给出的格式得到XmlString sting-
我想从上面的字符串中删除 。所以我写了代码为
XmlString=XmlString.replaceAll("", "").trim();
但是XmlString仍然是一样的。 所以请帮我从XmlString中删除版本信息。
将正则表达式更改为
XmlString=XmlString.replaceAll("\\<\\?xml(.+?)\\?\\>", "").trim();
if(XmlString .contains("")+2); }
String xmlString = readXml(); int p1 = xmlString.indexOf(""); if ( p1 != -1 && p2 != -1 && p2>p1){ xmlString=xmlString.substring(0,p1)+xmlString(p2+2); } private String readXml(){ //TOTO from file or any-pipeline read,convert to String.... }
另一种方法是我们这样做:
XmlString = XmlString.substring(XmlString.indexOf(""))
编辑: indexOf()而不是firstIndexOf()
第一个索引为’>’+ 1的子字符串(+1到达下一个字符),它不会给你结束xml版本? 虽然这不是干净的方式。