相关疑难解决方法(0)

我需要在XML文档中转义哪些字符?

必须在XML文档中转义哪些字符,或者在哪里可以找到这样的列表?

xml escaping character

889
推荐指数
8
解决办法
92万
查看次数

如何遍历Java String的unicode代码点?

所以我知道String#codePointAt(int),但它是由char偏移索引,而不是由代码点偏移索引.

我正在考虑尝试这样的事情:

但我担心的是

  • 我不确定自然处于高代理范围内的代码点是否会存储为两个char值或一个值
  • 这似乎是迭代字符的一种非常昂贵的方式
  • 有人必须想出更好的东西.

java string unicode

99
推荐指数
4
解决办法
3万
查看次数

编码XML文本数据的最佳方法

我在.Net中寻找一个通用方法来编码一个用于Xml元素或属性的字符串,当我没有立即找到它时,我感到很惊讶.所以,在我走得太远之前,我可能只是缺少内置函数吗?

假设它确实不存在,我正在整理我自己的通用EncodeForXml(string data)方法,我正在考虑最好的方法.

我正在使用的数据提示整个事情可能包含坏的字符,如&,<,"等.它还可能包含正确转义的实体:&,<和",这意味着只使用一个CDATA部分可能不是最好的主意.这似乎有点笨拙;我最终会得到一个很好的字符串值,可以直接在xml中使用.

我过去使用过正则表达式来捕捉坏的&符号,我想在这种情况下使用它来捕获它们以及第一步,然后对其他字符进行简单的替换.

那么,这可以进一步优化而不会太复杂,有什么我想念的吗?:

Function EncodeForXml(ByVal data As String) As String
    Static badAmpersand As new Regex("&(?![a-zA-Z]{2,6};|#[0-9]{2,4};)")

    data = badAmpersand.Replace(data, "&amp;")

    return data.Replace("<", "&lt;").Replace("""", "&quot;").Replace(">", "gt;")
End Function
Run Code Online (Sandbox Code Playgroud)

对不起你所有的C#-only伙计们 - 我真的不在乎我使用哪种语言,但我想让Regex保持静态,你不能在C#中做到这一点而不在方法之外声明它,所以这将是VB .净

最后,我们仍然使用.Net 2.0,但是如果有人可以将最终产品转换为字符串类的扩展方法,那也很酷.

更新前几个响应表明.Net确实有内置的方法来做到这一点.但是现在我已经开始了,我想完成我的EncodeForXml()方法只是为了它的乐趣,所以我仍然在寻找改进的想法.值得注意的是:一个更完整的字符列表应该被编码为实体(可能存储在列表/映射中),并且比在串行中的不可变字符串上执行.Replace()获得更好的性能.

.net xml encoding .net-2.0

67
推荐指数
7
解决办法
12万
查看次数

在Java中生成XML时转义特殊字符

我正在尝试开发XML导出功能,以便我的应用程序用户以XML格式导出他们的数据.我已经准备好这个功能,直到它开始失败了一些情况.然后我意识到这是因为需要编码的一些特殊字符.例如,数据可能包含&或!或%或'或#等等,这需要妥善转义.我想知道是否有可用的通用实用程序可以根据XML规范转义所有特殊字符.我在谷歌上找不到任何东西.

那里有类似的东西吗?或者还有其他办法吗?

这是我用来生成XML的代码


Document xmldoc = new DocumentImpl();
Element root = xmldoc.createElement("Report");

Element name= xmldoc.createElement((exportData.getChartName() == null) ? "Report" : exportData.getChartName());
if (exportData.getExportDataList().size() > 0
    && exportData.getExportDataList().get(0) instanceof Vector) {
    // First row is the HEADER, i.e name
    Vector name = exportData.getExportDataList().get(0);
    for (int i = 1; i  value = exportData.getExportDataList().get(i);
        Element sub_root = xmldoc.createElement("Data");
        //I had to remove a for loop from here. StackOverflow description field would not take that. :(
            // Insert header row
            Element node = xmldoc.createElementNS(null, replaceUnrecognizedChars(name.get(j))); …
Run Code Online (Sandbox Code Playgroud)

java xml special-characters

30
推荐指数
1
解决办法
8万
查看次数

从java中的字符串中删除无效的XML字符

您好我想从字符串中删除所有无效的XML字符.我想使用string.replace方法的正则表达式.

喜欢

line.replace(regExp,"");

什么是正确的regExp使用?

无效的XML字符是不是这样的一切:

[#x1-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
Run Code Online (Sandbox Code Playgroud)

谢谢.

java regex xml invalid-characters

22
推荐指数
3
解决办法
7万
查看次数

StringEscapeUtils.escapeXml正在转换不应该的utf8字符

escapeXml函数正在将ѭѭ转换为ѭ Ѯ 我猜它不应该.我读到的是它只支持五个基本的XML实体(gt,lt,quot,amp,apos).

是否有一个只转换这五个基本xml实体的函数.

java xml stringescapeutils

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

StringEscapeUtils用于字符转义

我在哪里可以找到这个类StringEscapeUtils 可以自动逃避字符而不是manualy做...在我的搜索上我发现被调用的StringEscapeUtils但我在我的项目中找不到或者我尝试从网上下载但是找不到...有没有办法让我自动完成这样的事情:

String testStr = "< > \" &"; 
System.out.println("Escaped : " + StringEscapeUtils.escapeHtml(testStr)); 
Run Code Online (Sandbox Code Playgroud)

java

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