这里我有一些代码负责获取属性值:
currPost.Body = reader.getAttributeValue("", "Body");
所以,Body
是我的问题基于的属性。
我的XML文件代表SQL Server转储,其格式如下:
<?xml version="1.0" encoding="utf-8"?>
<posts>
<row Id="1" PostTypeId="1" AcceptedAnswerId="65" CreationDate="2011-05-24T19:28:37.853" Score="13" ViewCount="964" Body="<p>Sehr viele Märchen beginnen auf Deutsch mit "Es war einmal", aber ich kenne auch ein Märchen, das anfängt mit "Zu der Zeit, als das Wünschen noch geholfen hat ...".</p>

<p>Gibt es noch andere Beginnformeln und wenn ja, kann man diese dem geographischen Ursprung der Märchen zuordnen?</p>

<blockquote>
 <p>Many German fairy tales open with
 "Es war einmal", but some start with
 "Zu der Zeit, als das Wünschen noch
 geholfen hat ...".</p>
 
 <p>Are there any other common
 introductions? If so, is there a correlation between their use and the geographic origin of the story?</p>
</blockquote>
" OwnerUserId="4" LastEditorUserId="2" LastEditDate="2011-05-25T05:39:54.580" LastActivityDate="2011-05-25T11:56:08.270" Title="Gibt es andere übliche Märchenbeginnformeln neben "es war einmal"?" Tags="<regional>" AnswerCount="2" CommentCount="2" FavoriteCount="4" />
问题本身就是当我检索“Body”值时 - 我总是得到一个缩短的字符串,它缺少很多字符/符号。
查看Body
值。它是
Body="<p>Sehr viele Märchen beginnen auf Deutsch mit "Es war einmal", aber ich kenne auch ein Märchen, das anfängt mit "Zu der Zeit, als das Wünschen noch geholfen hat ...".</p>

<p>Gibt es noch andere Beginnformeln und wenn ja, kann man diese dem geographischen Ursprung der Märchen zuordnen?</p>

<blockquote>
 <p>Many German fairy tales open with
 "Es war einmal", but some start with
 "Zu der Zeit, als das Wünschen noch
 geholfen hat ...".</p>
 
 <p>Are there any other common
 introductions? If so, is there a correlation between their use and the geographic origin of the story?</p>
</blockquote>
"
所以,当我只用System.out.println()
打印时,我只得到这个
<p>Sehr viele Märchen beginnen auf Deutsch mit "Es war einmal", aber ich kenne auch ein Märchen, das anfängt mit "Zu der Zeit, als das Wünschen noch geholfen hat ...".</p>
如您所见 - Body
值包含html标记。这可能是问题吗?我该怎么做呢?
或许还有其他决议?
非常感谢!
答案 0 :(得分:1)
我怀疑问题是XML中的


。这是U + 000A,或“换行”(两次)。您可以通过完全取出XML来验证这是问题所在。看看这是做什么的:
System.out.println("Line 1\nLine2\nLine 3");
可能会出现在多行上,具体取决于您的控制台。这也是我期望从XML中发生的字符串。我猜你要么只是查看从属性文本开头开始的行,要么你的控制台不支持多行输出。无论哪种方式,上面的快速测试都可以让您了解会发生什么。