gpt4 book ai didi

java - 无法读取设备上的 "/"

转载 作者:行者123 更新时间:2023-11-30 04:17:46 24 4
gpt4 key购买 nike

我正在处理一个 xml 文档并从中读取值。我正在阅读的值(value)之一是/。这是值的样子:M/S John Smith At 4。我在模拟器上做了一些测试,它显示了正确的值。现在我将我的应用程序部署到我的 Samsung Galaxy S2 设备 并且该过程没有正确读取值。它只是在该名称的值字段中显示 M。

我想这可能是因为/是一个特殊字符。我可以做些什么来转义值中的特殊字符并按原样读取整个名称吗?

P.S.:我不是经验丰富的 Java 开发人员,所以这个问题对您来说可能听起来很愚蠢,但如果您有解决方案,请告诉我。

当我在控制台窗口中打印值时,这是它在解析后读取 xmlDocument 的方式:M/S John Smith At 4

这个函数读取值:

public static String getCharacterDataFromElement(Element e) {
Node child = e.getFirstChild();
if (child instanceof CharacterData) {
CharacterData cd = (CharacterData) child;
return cd.getData();
}
return "";
}

在adove函数中,cd.getdata()返回M

经过更多调试:

当我在监 window 口中看到该元素时,对于其他名称,它只有一个子元素。但是对于包含/的元素,它有 3 个子元素。它将它在其中看到的 stringbuffer bcz 切片。我想要么我必须更改下面的函数并准备好所有子节点,要么我必须在传递它之前在其中使用转义字符。

最佳答案

如果我们谈论的是文本节点,您是否尝试过 NodegetNodeValue()

public static String getCharacterDataFromElement(Element e)
{
Node child = e.getFirstChild();
return child.getNodeValue();
}

文档:http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html#getNodeValue%28%29

关于java - 无法读取设备上的 "/",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9731547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com