1

DOMXpathを使用してHTMLドキュメントを解析しようとしています

HTMLに次のようないくつかの入力タグがあります

<form id="someid" action="login.jsf">
   <input type="hidden" id="someid" name="somename" value="somevalue">
   <input type="text" id="someid" name="somename" value="somevalue">
</form>

フォーム内のすべての入力タグに到達するための次のコードがあります。

$inputFields = $xpath->query("//form[contains(@action,'login.jsf')]/input/@*");

すべての属性を持つすべての入力ノードが返されますが、必要なのは名前と値の属性だけです。それ以外の場合は、すべての属性をループして、名前と値を除く他のすべてを破棄する必要があります。基本的には、「名前と値の属性のみを持つすべての入力ノードを選択する」必要があります。

名前と値の属性値に基づいてpost配列を作成する必要があります。

私はフォローしてみました

 $inputFields = $xpath->query("//form[contains(@action,'login.jsf')]/input/[@name | @value]");

しかし、これは機能しません。

4

1 に答える 1

1

この関数を使用してname、属性の名前を取得できます。

//form[contains(@action,'login.jsf')]/input/@*[name()='name' or name()='value']
于 2012-10-15T01:57:12.463 に答える