⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysaxpa.ja

📁 java操作xml文件的各种代码
💻 JA
字号:
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

public class MySAXParser{

	public void parseXML(String uri) {
		try{
			System.out.println("正在分析中的XML文件: " + uri + "\n");

			SAXParserFactory factory =
				SAXParserFactory.newInstance();

			factory.setValidating(true);

			SAXParser parser = factory.newSAXParser();
//分析文件
			parser.parse(uri, 
				(DefaultHandler)new MyDefaultHandler());
		} catch(SAXException saxe){
			System.out.println("XML分析错误: "+saxe.getMessage());
		} catch(Exception e){		}
	}

	public static void main(String[] args) {
		//如果参数数目不对,则印出使用说明,并结束程序
		if( args.length != 1 ){
			System.out.println("请输入欲分析的文件名: " +
					   "java MySAXParser [XML URI]");
			System.exit(-1);
		}
		String uri = args[0];
		MySAXParser myParser = new MySAXParser();
		myParser.parseXML(uri);
	}
}

class MyDefaultHandler extends DefaultHandler {
    /**保留Locator对象的信息*/
    private Locator locator;
    public void setDocumentLocator (Locator locator){
    	System.out.println("设置Locator对象..");
    	//把SAX的Locator对象放到到我们自己的Locator对象里
    	this.locator = locator;
    }

    public void startDocument ()
	throws SAXException{
		System.out.println("文件分析开始->");
	}
    public void endDocument()
	throws SAXException{
		System.out.println("<-文件分析结束");
	}
    public void startElement (String namespaceURI, String localName,
			      String qName, Attributes atts)
	throws SAXException{
		//打印元素名称
		System.out.print("元素开始: " + localName);
		if(namespaceURI.equals("")) {
			namespaceURI = "没有命名空间";
		}
		System.out.println(	", 命名空间: " + namespaceURI +
					", 新名称: " + qName + ".");
		//打印属性
		for(int i=0; i<atts.getLength(); i++)
			System.out.println(	
				"\t属性名称: " + 
				atts.getLocalName(i) +
				" = " + atts.getValue(i) + ".");
	}

    public void endElement (String namespaceURI, String localName,
			String qName)
	throws SAXException{
		System.out.print("元素结束: " + localName);
		if(namespaceURI.equals("")) {
			namespaceURI = "没有命名空间";
		}
		System.out.println(	", 命名空间: " + namespaceURI +
							", 新名称: " + qName + ".");
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -