Я собираюсь изменить Ldap конфигурации другой программы (ее называют openkm), который включает в себя редактирование пружинный XML-файл, как это:Как сериализации/десериализации весной XML CONFIG
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:b="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">
<security:ldap-server id="ldapServer"
url="ldap://192.168.0.6:389/DC=ldap,dc=weyler,dc=local"
manager-dn="CN=Administrator,cn=users,dc=weyler,dc=local"
manager-password="password"/>
<security:authentication-manager alias="authenticationManager">
<security:ldap-authentication-provider
server-ref="ldapServer"
user-search-base="cn=Users"
user-search-filter="(sAMAccountName={0})"
group-search-base="cn=Users"
group-search-filter="(member={0})"
group-role-attribute="cn"
role-prefix="none">
</security:ldap-authentication-provider>
</security:authentication-manager>
</beans:beans>
конфигурация только проблемы, чтобы заменить существующие значения (например, для изменения ip, port или baseDn). Использование замены всех с помощью регулярного выражения не является надежным, а парсер Dom XML - беспорядок для этого большого XML-файла. Как еще это можно сделать?
его не мой xml, его другой файл конфигурации программы, который я должен настроить программно. хотя ребятам в openkm следует подумать об использовании файла свойств вместо файлов весны xml для настройки их программы! – redbeard1970
В этом случае у вас нет выбора, кроме как использовать синтаксический анализатор XML. Если вы обнаружите, что API-анализатор DOM сложный, JDOM будет хорошим выбором. Однако, если файл очень большой, а эффективность - проблема, вы можете попробовать парсер StAX. –
jaxb был бы вариантом, если бы я знал только об этом Spring xml config classes – redbeard1970