проблема при чтении тега с веб-страницы на java

#java #jtidy

#java #jtidy

Вопрос:

Я использую синтаксический анализатор jtidy для анализа веб-страницы. Это работает, вроде:

 InputStream in=new URL("http://www.medicinenet.com/alopecia_areata/article.htm").openStream();
Document doc= new Tidy().parseDOM(in, null);
String titleText=doc.getElementsByTagName("title").item(0).getFirstChild().getNodeValue();
  

Для <title>...</title> этого все работает нормально, но URL, который я передал, содержит тег title <TITLE>...</TITLE> с заглавной буквы. Таким образом, он возвращает null.

Как прочитать <TITLE>...</TITLE> amp; <title>...</title> в одном операторе, используя Java-код? Пожалуйста, помогите мне.

Ответ №1:

Просто проверьте значение null, затем проверьте верхний регистр

 String titleText=doc.getElementsByTagName("title").item(0).getFirstChild().getNodeValue();
if (titleText == null) titleText=doc.getElementsByTagName("TITLE").item(0).getFirstChild().getNodeValue();
  

getElementsByTagName чувствителен к регистру, так что это самый простой вариант.

Комментарии:

1. Я пробовал приведенный выше код, но это не работает, пожалуйста, помогите мне с другим решением

2. Я попробовал этот код, как вы сказали —> if (TitleText == null) TitleText=doc.getElementsByTagName(«ЗАГОЛОВОК»).item(0).getFirstChild().getNodeValue();———- это выбрасывает исключение, и снова оно возвращает null.

3. является ли тег title смешанным регистром … например, g <Title>

4. нет, это не в смешанном падеже, это с заглавной буквы»<ЗАГОЛОВОК>».