Jak uniknąć podwójnych cudzysłowów w wartościach atrybutów XML?


Odpowiedzi:


223

Możesz użyć "


3
Jawna i dłuższa konwencja nazewnictwa jest lepsza niż akronimy lub skrócona w przypadku nazywania zmiennych, funkcji, atrybutów itp .; Zawsze będę mieć pewność co do zwięzłości - to moja niezamówiona opinia.
Daniel Sokolowski

1
Zgadzam się z Danielem. Zwięzłość może zaoszczędzić Ci 1 sekundę pisania, ale wtedy ludzie będą musieli spędzić 10 minut, próbując dowiedzieć się, co się dzieje.
NL3294

@Daniel Sokolowski: O czym rozmawiacie? Czy brakuje jakiegoś kontekstu (np. Usunięte komentarze)?
Peter Mortensen

Musi być @PeterMortensen, zapomniałem teraz, że to było prawie 7 lat temu :)
Daniel Sokolowski

54

Ze specyfikacji XML :

Aby wartości atrybutów zawierały zarówno pojedyncze, jak i podwójne cudzysłowy, apostrof lub pojedynczy cudzysłów (') może być reprezentowany jako „”, a znak podwójnego cudzysłowu („) jako„ ”.


17

Znaku podwójnego cudzysłowu ( ") można uniknąć jako ", ale oto reszta historii ...

W tym kontekście należy zastosować znak cudzysłowu :

  • W atrybutach XML rozdzielonych podwójnymi cudzysłowami:

    <EscapeNeeded name="Pete &quot;Maverick&quot; Mitchell"/>

Znaku cudzysłowu nie trzeba używać w większości kontekstów:

  • W treści tekstowej XML:

    <NoEscapeNeeded>He said, "Don't quote me."</NoEscapeNeeded>
  • W atrybutach XML rozdzielanych pojedynczymi cudzysłowami ( '):

    <NoEscapeNeeded name='Pete "Maverick" Mitchell'/>

    Podobnie ( ') nie wymagają zmiany znaczenia, jeśli ( ") są używane jako ograniczniki wartości atrybutu:

    <NoEscapeNeeded name="Pete 'Maverick' Mitchell"/>

Zobacz też


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.