我有一个看起来像这样的XML文件......
<ssh>
<authentication name="deny" action="allow">
<item>
<user name="everyone" />
</item>
</authentication>
<authentication name="authentication" action="allow">
<auth-publickey />
<auth-keyboard-interactive max-tries="3" failure-delay="2" >
<submethod-radius>
<radius-server address="192.168.22.1" port="10000">
<radius-shared-secret file="/test/test/radius_config" />
</radius-server>
<radius-server address="192.168.22.2" port="10000" >
<radius-shared-secret file="/test/test/radius_config" />
</radius-server>
</submethod-radius>
</auth-keyboard-interactive>
</authentication>
</ssh>
在此XML文件中,有2个不同的<authentication>
标记,一个标记为name="deny"
,另一个标记为name="authentication"
。我正在尝试编写一些Java代码,告诉我<auth-publickey>
标记是否是<authentication name="authentication">
标记的子标记。
我尝试使用NodeList chkPublicKey = (NodeList) document.getElementsByTagName("auth-publickey");
,但这只会验证<auth-publickey>
是否在XML文件中。任何人都可以提供一些建议。