Ⅰ 关于MindManager报“xml字符非法”的解决办法
1、把文件后缀mmap修改为zip;
2、打开zip,把里面的Document.xml解压出来;
3、找一个文本编辑器打开Document.xml,通过文本编辑器修改报错信息提示的位置(行号:列号)的xml格式错误;
4、把文件格式修改正确,然后更新压缩文件;
5、将文件名称再次修改为mmap,文件就可以正确打开了。
MindManager报“xml字符非法”错误有时也可能是中文字体格式不对引起的,因此编辑MindManager文件的时候,最好不要使用类似“宋体、黑体”这样的中文字体,使用英文字体,中文字体使用缺省字体,这样做可以避免出现上述“xml字符非法”错误。
MindManager思维导图如今已经升级到2016版本,正常情况下xml错误很少出现,一般跟用户电脑的系统语言也有一定的关系,在使用中文版的时候,建议大家按照上述小编所说的,使用恰当的字体格式,避免出现类似问题影响大家使用MindManager。
Ⅱ xml文件中几个ASCII(非法)字符的处理方法
1.将字符“<”、“>”和“&”处理成转义序列:
,则显示正确了,但带来的问题是在后续的应用中必须对转义序列进行处理才能在编辑或印刷。
2.将字符“<”、“>”和“&”处理成全角字符“<”“>”和“&”,这样也可显示正确,在后续的应用中也无需进行特殊处理。但这样处理是否会影响版面显示效果呢?经过对较多书稿的处理,发现实际应用中字符“<”、“>”在书稿出现较少,“&”在英文著作中有出现,按上述方法处理对版面效果几乎毫无影响。
因此建议采用第2种方法。
Ⅲ 我要用到&*这两个符号但是在xml是非法字符要怎么解决
用CDATA来解决就可以了,不会进行解析
<title><![CDATA[这里的内容有非法字符<>,置于此,不会出现解析错误]]></title>
<![CDATA[&*]]>
给楼主举个例子,就是ibatis中,我们需要在配置文件中写sql语句,那么就用到了
<![CDATA[
UPDATE tbl_testuser SET uuid=#uuid#,name=#name#,age=#age# WHERE uuid = #uuid#
]]>
Ⅳ 如何过滤掉字符串中的非法字符
过滤来非法字符:自
/**
* 替换xml特殊字符,
* 过滤非法字符 HJX
* @param s
* @return
*/
public static String format(String s){
String reg = "[//x00-//x08//x0b-//x0c//x0e-//x1f]";//过滤掉非法字符
if ( s == null )
return "";
else{
s=s.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll("/"",""").replaceAll(reg,"");;
return s;
}
}
Ⅳ 非法的XML字符/ Axis问题,怎么解决
MindManager的文档事实上是zip格式的文档,文档的实际内容保存在压缩文件中的Document.xml这个xml文件中,问题原因是因为
MandManager对国际化支持不好,一些中文格式在保存为xml后,成了乱码,破坏了整个xml文件的格式,因此一个挽救的解决方法是先把mmap
文件后缀修改为zip,解压出Document.xml,通过文本编辑器修改报错信息提示的位置(行号:列号)的xml格式错误,把文件格式修改正确,然
后更新压缩文件,文件名称再修改mmap,文件又可以正确打开了。同时发现问题主要是因为中文字体格式引起的,因此,编辑MindManager文件的时
候,最好不要使用类似“宋体,黑体”这样的中文字体,使用英文字体,中文字体使用缺省字体,这样也可以避免上面错误。
Ⅵ python解释xml文件遇到不合法字符,如何解决
python ElementTree处理gbk(或者gb2312)编码的XML文件的方法:
1,py文件的编码是utf-8,即在文件最开始有如下语句声明编码方式:
#-*-coding: utf-8-*-
2,读取文件内容时转码为utf-8的:
xml_file_text = open(xml_file_name).read().decode('gbk').encode('utf-8')
这样在处理过程中均是utf-8编码的字符串
Ⅶ XML 解析中,如何排除控制字符
package com.huayu;
import Java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class Test3 {
public static void main(String []args){
try {
//1.创建一个工厂
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
//2.得到解析器
DocumentBuilder db=dbf.newDocumentBuilder();
//3.//字符串
String strTest="<?xml version=/"1.0/" encoding=/"gb2312/"?>"
+"<company>"
+"<person sex=/"male/">"
+"<name>小三子</name>"
+"<email>[email protected]</email>"
+"</person>"
+"<person sex=/"male/">"
+"<name>小三子</name>"
+"<email>[email protected]</email>"
+"</person>"
+"<person sex=/"male/">"
+"<name>小三子</name>"
+"<email>[email protected]</email>"
+"</person>"
+"</company>";
//在编程中,字符串从网络传递
InputStream is=new ByteArrayInputStream(strTest.getBytes());
Document dm=db.parse(is);
NodeList nl=dm.getElementsByTagName("person");
//5.改进将 Node 换成 Element (Element提供了更加丰富的方法,解决不能指定得到某个子节点的问题)
//得到第一个人的信息
Element el=(Element)nl.item(0);
//指定得到某个子节点
NodeList nll=el.getElementsByTagName("email");
//打印name值,这是固定的取法
String name=((Element)nll.item(0)).getFirstChild().getNodeValue();
System.out.println("email="+name);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
Ⅷ 如何处理XML中的特殊字符
在XML中,有一些符号作为XML 的标记符号,一些特定情况下,属性值必须带有这些特殊符号。下面主要是讲解一些常用的特殊符号的处理
例一:双引号的使用。
双引号作为XML 属性值的开始结束符号,因此无法在值中直接使用"".处理方式可以分为两种。
a:属性值中没有'(单引号),那么可以用单引号'' 作为属性值的开始结束符号
<add key="IPhone" value="apple"/> ...属性值为("apple").
解决:<add key="IPhone" value=’"apple"‘/>
b:属性值中有'(单引号),也有双引号。如...属性值为("'apple").
<add key="IPhone" value=""'apple""/>
下表为 XML 标记使用的字符列出了五种内置实体。
如果字符可能会使 XML 分析器错误地解释文档结构,请使用实体,而不要键入字符。' 和 " 实体引用最常用在属性值中。