我试图通过增强功能显示从XML文件中的一对标签内部获取的文本。以下是开始标记,文本和结束标记:
<english><strong>English adjectives: a young woman</strong></br> They are always invariable in gender and number.</english>
但我没有查看增强型文字,而是查看<english>
和</english>
标签之间的上述文字,其中包含<strong>
之类的内容。我该如何解决这个问题?
以下是读取XML文件的方法:
public void lireXML(String mot)
throws XmlPullParserException, IOException
{
final TextView monMessage = (TextView) findViewById(R.id.zone_trado_scrollable);
XmlResourceParser monFichierXML = getResources().getXml(R.xml.text);
monFichierXML.next();
int eventType = monFichierXML.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT)
{
if( (eventType == XmlPullParser.START_TAG) && (monFichierXML.getName().equalsIgnoreCase("word")) )
{
monFichierXML.next();
if ( monFichierXML.getText().equalsIgnoreCase(mot) )
{
monFichierXML.nextTag(); // word fermant
monFichierXML.nextTag(); // english ouvrant
monFichierXML.next(); // texte anglais
if (langueChoisie == "francais") {
monFichierXML.nextTag(); // english fermant
monFichierXML.nextTag(); // français ouvrant
monFichierXML.next(); // texte français
}
if (langueChoisie == "espanol") {
monFichierXML.nextTag(); // english fermant
monFichierXML.nextTag(); // français ouvrant
monFichierXML.next(); // texte français
monFichierXML.nextTag(); // français fermant
monFichierXML.nextTag(); // espanol ouvrant
monFichierXML.next(); // texte espanol
}
if (langueChoisie == "chinois") {
monFichierXML.nextTag(); // english fermant
monFichierXML.nextTag(); // français ouvrant
monFichierXML.next(); // texte français
monFichierXML.nextTag(); // français fermant
monFichierXML.nextTag(); // espanol ouvrant
monFichierXML.next(); // texte espanol
monFichierXML.nextTag(); // espagnol fermant
monFichierXML.nextTag(); // russe ouvrant
monFichierXML.next(); // texte russe
monFichierXML.nextTag(); // russe fermant
monFichierXML.nextTag(); // chinois ouvrant
monFichierXML.next(); // texte chinois
}
// on affiche le texte à l'intérieur de la balise sélectionnée
monMessage.setText(monFichierXML.getText());
}
}
eventType = monFichierXML.next();
}
}`
这里有一点XML:
<group>
<word>young1</word>
<english><strong>English adjectives: a young woman</strong> <br>They are always invariable in gender and number.</english>
<francais><strong>Les adjectifs: a young woman</strong> <br>Les adjectifs qualificatifs anglais sont invariables. Quand ils sont épithètes, ils se placent avant le substantif: a young woman. Quand ils sont attributs, ils se placent après le verbe: the woman is young.</francais>
<espanol><strong>Los adjetivos: a young woman</strong> <br>Los adjetivos en inglés son invariables. Cuando son calificativos, se colocan delante del sustantivo: a young woman. Cuando son atributos, se colocan después del verbo: the woman is young.</espanol>
<chinois><strong>英语形容词:一位年轻的女士。</strong> <br>不论性别和数量都一样</chinois>
</group>`
答案 0 :(得分:3)
如果你想使用带有TextView的html标签,你应该使用:
monMessage.setText(Html.fromHtml(monFichierXML.getText()));
答案 1 :(得分:2)
尝试这样的事情
TextView myTextview;
myTextview= (TextView) findViewById(R.id.my_text_view);
htmltext = <your html (markup) character>;
Spanned sp = Html.fromHtml( htmltext );
myTextview.setText(sp);
答案 2 :(得分:0)
尝试以下方法:
<b>English adjectives: a young woman</b> <br>They are always invariable in gender and number.
如果失败,只需将<
字符编码为<
,结果为:
<b>English adjectives: a young woman</b> <br>They are always invariable in gender and number.
查看此答案以获取更多信息Bold words in a string of strings.xml in Android