任何人都可以請指導我如何使用這個escape_value()。 我想逃避這個字符:
,因爲它引用了無效的字符編號錯誤。什麼是在XML中使用escape_value()的正確方法::簡單
這是我的代碼提前
任何人都可以請指導我如何使用這個escape_value()。 我想逃避這個字符:
,因爲它引用了無效的字符編號錯誤。什麼是在XML中使用escape_value()的正確方法::簡單
這是我的代碼提前
望着code
my $xs = XML::Simple->new(KeepRoot => 1, KeyAttr => 1, ForceArray => 1);
$xs->XMLout($filename, escape_value(`'`')); // but this is not working
my $data = $xs->XMLin($filename);
感謝,看來該escape_value
方法接受一個字符串,並返回返回字符串在進行以下替換:
>
至>
<
到<
&
到&
"
到"
它甚至不操縱該對象的結構。如果你直接調用它,你只是這樣做:
my $string = '"Remove quotes" & <entities> quotes';
my $encoded_string = $self->escape_value("$string");
say $encoded_string; #"Remove quotes" & and <entities> quotes
哎呀,爲什麼還要用面向對象的煩惱呢?
my $string = '"Remove quotes" & <entities> quotes';
my $encoded_string = XML::Simple::escape_value("$string");
say $encoded_string; #"Remove quotes" & and <entities> quote
它看起來像什麼,這個子程序由XMLOut
本身稱爲每當選項NoEscape
或者未設置或設置爲0
。
在代碼的第636行中,XMLOut
方法正在調用value_to_xml
方法。這將數據結構傳遞給XMLOut並創建一個XML文本。然後value_to_xml
方法調用行1431中的escape_string
方法。
U + 000C在XML中不允許。
Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
甚至沒能逃脫。
使用字符引用引用的字符必須匹配生產
Char
。
這就是......嗯。有趣。那麼,base64? :) – hobbs
@hobbs,這是一個選項。您也可以使用更適合二進制數據的格式。 – ikegami