我想做的是从XHTML文件中提取一个简单的内部HTML。我已将搜索范围缩小到元素节点,但检索不到信息。
请注意:元素节点没有子节点。我为此收到空指针异常
这里是超文本标记语言SNIPPET
<div id="dvTitle" class="titlebtmbrdr01" style="line-height: 22px;">BAJAJ AUTO LTD. </div>
请注意,此文件的命名空间为http://www.w3.org/1999/xhtml
您可以看到我有想要BAJAJ AUTO LTD
的div元素。
这是我正在使用的代码
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Vector;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import jxl.read.biff.BiffException;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import com.sun.org.apache.xml.internal.serialize.Serializer;
public class BSEQuotesExtractor implements valueExtractor {
@Override
public Vector<String> getName(Document d) throws XPathExpressionException, RowsExceededException, BiffException, WriteException, IOException {
// TODO Auto-generated method stub
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
xpath.setNamespaceContext(new MynamespaceContext());
Object result = xpath.evaluate("//*[@id='dvTitle']",d, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
System.out.println(nodes.getLength());
System.out.println(nodes.item(0).getNodeName());
System.out.println(nodes.item(0).getAttributes().item(1).getNodeName());
System.out.println(nodes.item(0).getAttributes().item(1).getNodeValue());
System.out.println(nodes.item(0).getTextContent());
return null;
}
public static void main(String[] args) throws MalformedURLException, IOException, XPathExpressionException, RowsExceededException, BiffException, WriteException{
BSEQuotesExtractor q = new BSEQuotesExtractor();
DOMParser parser = new DOMParser(new URL("http://www.bseindia.com/bseplus/StockReach/StockQuote/Equity/BAJAJ%20AUTO%20LTD/BAJAJAUT/532977/Scrips").openStream());
Document d = parser.getDocument();
q.getName(d);
}
}
这就是我得到的结果
1
div
dvTitle
null
现在为什么我会得到这个空?我应该得到BAJAJ AUTO LTD
。
当我打开您的代码引用的页面时,该 div
对我来说实际上是空的:
<div class="titlebtmbrdr01" id="dvTitle" style="line-height: 22px;"></div>
因此,也许您应该将页面内容保存到某个文件中,以检查它是否与您相同。如果是,但您的浏览器显示的内容不同,那么找出 cookie 和其他标头的哪些组合在那里有所不同。
关于必须从XML文件中检索和检查有效元素的Web服务,我需要一些帮助。web服务方法应该如下所示-翻译(“花”、“英语”、“俄语”),客户机应该能够允许您输入所需的单词、原始语言和目标语言。如果XML文件中存在这些内容,那么它的翻译将显示在客户端,如果不存在,它将显示一条错误消息。 我创建了一个标准的web服务方法-add(int a,int b)并使用普通java应用程序创建了客户机部分,添加了
问题内容: 我已经完成了将记录插入数据库的操作,但是我不知道如何检索它。我的代码是: Account.java: MyAccount.java: insert.html: web.xml: 当用户单击“检索”按钮时,如何从数据库检索数据,并以另一HTML格式显示所有记录?请提供有关操作方法的建议。 在我的应用程序中,当用户单击检索按钮时,它正在执行插入操作。但是我想要的是,当用户单击它时,应该转到
问题内容: 我知道此页面中有很多此主题,但可悲的是,我仍然无法解决我的问题。 这是我的xml代码: 这是我在Java中的代码: 是的,像往常一样,我无法获得输出,因为它仅显示: 仅当我删除ns:1时,才会显示输出,xml的代码将如下所示: 问题是,我在网上发现的所有建议似乎都没有用: 例如,我已经尝试过 等2 .. 我能得到的唯一最好的输出是,它将显示: 谁能给我正确的代码给我解决我的问题? 提前
问题内容: MVC4 +实体框架4.4 + MySql + POCO /代码优先 我正在设置以上配置..这是我的课程: 这是我的web.config设置… 数据库AND表已经存在… 我对mvc还是很陌生,但是正在使用本教程 应用程序构建良好…但是,当我尝试使用Product(BTD.Data)作为我的模型类并使用BTDContext(BTD.DataContext)作为我的数据上下文类添加控制器时
问题内容: 我旁边有一个文本框和一个按钮。我想通过对webmethod的Jquery ajax调用发送文本框的内容,并获取相同的大写值并将其显示在警报中。到目前为止,我有此代码,但无法正常工作。 JAVASCRIPT: HTML: 网页方法: 问题答案: 根据您的评论,我了解您的问题尚未解决,所以只需尝试一下
问题内容: 我想获取数据并在没有标签的情况下进行整理。看起来像这样 并且我希望能够提取所有信息字符串,以便可以使用以下方式将其存储在纯文本文件中: 光学变焦:15倍数码变焦:6倍电池类型:碱性分辨率百万像素:14 MP 我使用Selenium在Java中进行编程,因此无法为其找到正确的XPath表达式。 有人可以找出我为什么会犯错误的原因,并可能给我一些如何正确解析此数据的指示吗?我对Seleni