java与xml的问题,谢谢~~~~~~

sunshinewhile 2008-08-22 10:13:10
我现在要更改rmp文件(相当于xml)里一个节点的值
值里面除汉字以外还有<tbreak/>这是个回车符
①java把<tbreak/>当作一个节点,无法更换
②还有我更改之后的内容要加上<tbreak/>,但加了之后rmp文件中显示的是<tbreak/>转义之后的,这不是我要的效果,我希望不要被转义,直接显示<tbreak/>
...全文
212 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunshinewhile 2008-08-28
  • 打赏
  • 举报
回复
那我要怎样把<tbreak/>加进去呢?
sunshinewhile 2008-08-28
  • 打赏
  • 举报
回复
已经解决了
forevertraveller 2008-08-27
  • 打赏
  • 举报
回复
字符串和节点类型是不同的。
strr+=content.substring(15*i,15*(i+1))+"<tbreak/>";
即使加进去<tbreak/>还是字符串的一部分, 而不会成为节点。
节点必须使用节点相关的方法来操作
qinshanwu 2008-08-26
  • 打赏
  • 举报
回复
在解析的时候换行
sunshinewhile 2008-08-26
  • 打赏
  • 举报
回复
没人回答吗?
sunshinewhile 2008-08-22
  • 打赏
  • 举报
回复
自己顶
sunshinewhile 2008-08-22
  • 打赏
  • 举报
回复
<textClip fill="black" font-family="Arial" font-size="14" height="122" id="textClip" width="220" x="12" xml:space="preserve" y="178">
<tbreak/>
老将杨威眼里噙着泪,小鹏一边挥<tbreak/>
手脸上绽放出了笑容,视线却早已<tbreak/>
模糊,肖钦不顾镁光灯的闪烁,右<tbreak/>
手擦拭着眼睛,陈一冰、黄旭也都<tbreak/>
红了眼眶,邹凯眼睛本来就小,此<tbreak/>
时却已星光点点。<tbreak/>
<tbreak/>
</textClip>
sunshinewhile 2008-08-22
  • 打赏
  • 举报
回复
public static boolean doc2XmlFile(Document document, String filename) {
boolean flag = true;
try {
/** 将document中的内容写入文件中 */
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
/** 编码 */
// transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(filename));
transformer.transform(source, result);
} catch (Exception ex) {
flag = false;
ex.printStackTrace();
}
return flag;
}

public static Document load(String filename) {
Document document = null;
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(new File(filename));
document.normalize();
} catch (Exception ex) {
ex.printStackTrace();
}
return document;
}

/**
* 内容加上回车符
* @param content
* @return
*/
public static String getContentValue(String content){
int line=content.length()/15;
String value="";
String strr="";
for(int i=0;i<line;i++)
{
strr+=content.substring(15*i,15*(i+1))+"<tbreak/>";
}
if(content.length()%15==0){
value="<tbreak/>"+strr;
}else{
value="<tbreak/>"+strr+content.substring(line*15,content.length());
}
return value;
}


public static void rmpUpdate(String filename,String content) {
Document document = load(filename);
NodeList nl = document.getElementsByTagName("textClip");
for (int i = 0; i < nl.getLength(); i++) {
nl.item(0).getFirstChild().setNodeValue(getContentValue(content));

}
doc2XmlFile(document, filename);
}
suncf1985 2008-08-22
  • 打赏
  • 举报
回复
那就用xml 的转意字符呗!在给他转回去!
xf_hz 2008-08-22
  • 打赏
  • 举报
回复
。。。。顶一下

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧