Java regex matchning mot XML-element

Permalänk

Java regex matchning mot XML-element

Hej, jag har en situation där jag vill matcha ett tomt element i ett xml dokument med regex. En xml-parser kan jag tyvärr inte använda just nu pga av min ringa kunskap om java.
Elementet jag vill matcha ser ut så här:

.... <vc_myelement> </vc_myelement> ....

Vad jag då tänkte var detta:

" <vc_myelement>" + "\n" + " </vc_myelement>"

Men det funkar inte. Vad bör jag skriva istället?:)

EDIT: OK, googlade lite regex ett och har ett nytt förslag, fungerar dock inte heller:

" \\<vc\\_CorrectiveAction\\>\\n \\<\\/vc\\_CorrectiveAction\\>"

Visa signatur

You're damned if you do and you're damned if you don't

Permalänk
Skrivet av Berserkargang:

Hej, jag har en situation där jag vill matcha ett tomt element i ett xml dokument med regex. En xml-parser kan jag tyvärr inte använda just nu pga av min ringa kunskap om java.
Elementet jag vill matcha ser ut så här:

.... <vc_myelement> </vc_myelement> ....

Vad jag då tänkte var detta:

" <vc_myelement>" + "\n" + " </vc_myelement>"

Men det funkar inte. Vad bör jag skriva istället?:)

EDIT: OK, googlade lite regex ett och har ett nytt förslag, fungerar dock inte heller:

" \\<vc\\_CorrectiveAction\\>\\n \\<\\/vc\\_CorrectiveAction\\>"

public static void main(String[] args) {
String someText = " <vc_myelement>\n </vc_myelement> ";
boolean matching = someText.matches(".*<vc_myelement>\\s+</vc_myelement>.*");
System.out.println("match : " + matching);
}

Permalänk
Hedersmedlem
Skrivet av Berserkargang:

En xml-parser kan jag tyvärr inte använda just nu pga av min ringa kunskap om java.

Men tänk vilket tillfälle för och vilken nytta du skulle ha av att lära dig!

Disclaimer: har inte använt en XML-parser i just Java. http://stackoverflow.com/questions/1687203/java-remove-empty-... har färdig kod för att hantera ett tomt element, går säkert att plocka ut just den lilla biten du behöver, borde bara bli någon rad eller två.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Skrivet av jesperhedlund:

public static void main(String[] args) {
String someText = " <vc_myelement>\n </vc_myelement> ";
boolean matching = someText.matches(".*<vc_myelement>\\s+</vc_myelement>.*");
System.out.println("match : " + matching);
}

Tack!, Det fungerade

Visa signatur

You're damned if you do and you're damned if you don't