Как я могу заменить атрибут префикса в XML? - PullRequest
0 голосов
/ 26 ноября 2018

Я хочу заменить атрибут xml в java.

Как я могу это заменить?

Пожалуйста, помогите мне.

xml похож на это:

<header p1:name="blabla">
<body>
<description>hello world !!!</description>
</body>
</header>
<!-- TO-BE -->
<header name="blabla">
<body>
<description>hello world !!!</description>
</body>
</header>

Я хочу заменить 'p1:' на пробел, как TO-BE.

1 Ответ

0 голосов
/ 26 ноября 2018

Если вы хотите преобразовать XML из Java, я бы предложил использовать XSLT.Для простых задач вы можете использовать процессор XSLT 1.0, который поставляется с JDK;для более сложных задач вы можете загрузить реализацию XSLT 3.0, такую ​​как Saxon.

Однако XSLT предполагает, что входные данные XML правильно сформированы.Пример, который вы показали, не так, потому что он использует префикс пространства имен p1, который не был объявлен.Это наводит на мысль о том, что проблема еще выше в конвейере обработки, и вместо того, чтобы избавиться от этого префикса, вы, возможно, должны сначала рассмотреть, как он туда попал: ошибки, которые создают неверные данные, должны быть исправлены в источнике, а не восстанавливать данные позже.

...