我是解析字段的新手.我正在尝试编写解析器代码但无法获取值包含的特定标记的值ampersand(&).请帮我解决问题.
xml文件看起来像<system>
<u_id>10145</u_id>
<serial_no>1800015</serial_no>
<branch_name>B & P Infotech Ltd.</branch_name>
</system>
Run Code Online (Sandbox Code Playgroud)
我尝试过这个java代码,但它没有给我正确的输出.
package com.satya.xmltest;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
public class SaxTest {
public static void main(String[] args) {
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
SaxtestHandler handler=new SaxtestHandler();
try {
SAXParser parser = parserFactory.newSAXParser();
parser.parse("C:\\Users\\abc\\Desktop\\test.xml", handler);
} catch (Exception e) {
}
SystemTo systemTo=handler.systemTo;
System.out.println("Uid :"+systemTo.getUid());
System.out.println("serial number :"+systemTo.getSerialNumber());
System.out.println("name :"+systemTo.getName());
}
}
Run Code Online (Sandbox Code Playgroud)
在此类中,完成解析并将数据值设置为数据容器类.
package com.satya.xmltest;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class SaxtestHandler extends DefaultHandler …Run Code Online (Sandbox Code Playgroud) 我无法理解pass在Python中使用该语句.
我在这里找到了一些示例代码,其中有一个pass声明,但我无法弄清楚它在这个上下文中有用:
for letter in 'Python':
if letter == 'h':
pass
print 'This is pass block'
print 'Current Letter :', letter
Run Code Online (Sandbox Code Playgroud) 我的要求是传递一个带有 + 的字符串(例如:ABC+DEF)。并且它应该与actual_state 的任何值匹配,值可以是ABC+DEF ABC+DEF, ABC+DEF,,等。这里ABC+DEF 后可以有一个或多个逗号。但它不应该与ABC+DEF, PQR-SL.
以下是我尝试过的代码片段:
sub verify_state{
my $expected_state = shift;
my $vol = 'vol';
my $actual_state = 'ABC+DEF,';
print "Verify backend state for $vol\n";
print "Expected backend state for $vol = $expected_state\n";
print "Actual backend state for $vol = $actual_state\n";
if ( $expected_state !~ /$actual_state,*$/ ) {
print
"Expected state was $expected_state but got $actual_state for $vol\n"
;
return 0;
}
return 1;
}
my $val = verify_state('ABC+DEF');
print $val,"\n";
Run Code Online (Sandbox Code Playgroud)
如果我通过,它应该返回我 …