gpt4 book ai didi

java - 如何从 DOM 元素捕获 Java 字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 08:46:32 25 4
gpt4 key购买 nike

注意:由@drachenstern 编辑,我不介意因此删除我的答案。 OP 是 俄罗斯人(我相信) 乌克兰人(抱歉),并且有一个 ESL 问题描述了他的问题。两个HR之间就是他原来的职位。

<小时/>

命令 getElementsByTagName("s");并给出值 = '2d331be47563423424abdb7fe2eee6401c7b00417'

我的字符串:

<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=windows-1251' />
</head>
<body onload="try { document.getElementById('l').submit(); } catch(e) { document.getElementsByTagName('form')[0].submit(); }">
<form id='l' method='post' action='http://vkontakte.ru/login.php'>
<input type='hidden' name='s' value='2d331be47563423424abdb7fe2eee6401c7b00417' />
<input type='hidden' name='op' value='slogin' />
<input type='hidden' name='redirect' value='1' />
<input type='hidden' name='expire' value='0' />
<input type='hidden' name='to' value='' />
</form>
</body>
</html>

我需要将字符串转换为 DOM 模型顺序以便进行解析

我写的是这是我用 Java 编写的字符串!

String mystr = "<html....</html>";

俄语 - “У меня есть строка в JAVA она содержит в себе html файл(страницу сайта). Мне нужна функция которая достанет 值输入。 Я знаю что это можно прекрасно сделать через DOM модель, но у меня не получается это сделать."

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputSource is = new InputSource( new StringReader( body ) );
Document d = builder.parse( is );
String ss = d.getElementById("s").getNodeValue(); //- null
<小时/>

他了解在 Javascript 中解析元素的方法是通过类似于 getElementsByTagName('s'); 的方法,并且他希望找到在 Java 中执行此操作的等效方法。他不知道他需要什么图书馆。无论如何,我也不写 Java。但他只能用一种比喻来解释另一种比喻。

Google 将他的俄语请求翻译为:

I have a string in JAVA it contains the html file (page). I need a function that would get value in the input. I know that this can be done well through the DOM model, but I did not get to do it.

最佳答案

看起来问题在于他正在调用 getElementById,其中元素具有 name='s' NOT id='s'。我建议改为调用 getElementsByTagName,然后循环遍历返回的输入节点列表以查找所需内容。

关于java - 如何从 DOM 元素捕获 Java 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4206206/

25 4 0