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

📄 simplexmlparserdocumentnodeimpl.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   SimpleXMLParserDocumentNodeImpl.java

package org.gudy.azureus2.pluginsimpl.local.utils.xml.simpleparser;

import java.io.PrintWriter;
import java.util.Vector;
import org.gudy.azureus2.plugins.utils.xml.simpleparser.SimpleXMLParserDocumentAttribute;
import org.gudy.azureus2.plugins.utils.xml.simpleparser.SimpleXMLParserDocumentNode;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;

// Referenced classes of package org.gudy.azureus2.pluginsimpl.local.utils.xml.simpleparser:
//			SimpleXMLParserDocumentAttributeImpl, SimpleXMLParserDocumentImpl

public class SimpleXMLParserDocumentNodeImpl
	implements SimpleXMLParserDocumentNode
{

	protected SimpleXMLParserDocumentImpl document;
	protected Node node;
	protected SimpleXMLParserDocumentNode kids[];

	protected SimpleXMLParserDocumentNodeImpl(SimpleXMLParserDocumentImpl _doc, Node _node)
	{
		document = _doc;
		node = _node;
	}

	protected Node getNode()
	{
		return node;
	}

	public String getName()
	{
		return node.getLocalName();
	}

	public String getFullName()
	{
		return node.getNodeName();
	}

	public String getNameSpaceURI()
	{
		return node.getNamespaceURI();
	}

	public String getValue()
	{
		if (node.getNodeType() == 7)
			return node.getNodeValue();
		String res = "";
		for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling())
		{
			int type = child.getNodeType();
			if (type == 4 || type == 3 || type == 12)
			{
				String str = child.getNodeValue();
				res = (new StringBuilder()).append(res).append(str).toString();
			}
		}

		return res;
	}

	public SimpleXMLParserDocumentAttribute getAttribute(String name)
	{
		SimpleXMLParserDocumentAttribute attributes[] = getAttributes();
		for (int i = 0; i < attributes.length; i++)
			if (attributes[i].getName().equalsIgnoreCase(name))
				return attributes[i];

		return null;
	}

	public SimpleXMLParserDocumentAttribute[] getAttributes()
	{
		Vector v = new Vector();
		if (node.getNodeType() == 1)
		{
			NamedNodeMap atts = node.getAttributes();
			for (int i = 0; i < atts.getLength(); i++)
			{
				Node child = atts.item(i);
				v.addElement(new SimpleXMLParserDocumentAttributeImpl(child.getNodeName(), child.getNodeValue()));
			}

		}
		for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling())
		{
			int type = child.getNodeType();
			if (type == 2)
				v.addElement(new SimpleXMLParserDocumentAttributeImpl(child.getNodeName(), child.getNodeValue()));
		}

		SimpleXMLParserDocumentAttributeImpl res[] = new SimpleXMLParserDocumentAttributeImpl[v.size()];
		v.copyInto(res);
		return res;
	}

	public SimpleXMLParserDocumentNode[] getChildren()
	{
		if (kids == null)
			kids = document.parseNode(node, true);
		return kids;
	}

	public SimpleXMLParserDocumentNode getChild(String name)
	{
		SimpleXMLParserDocumentNode kids[] = getChildren();
		for (int i = 0; i < kids.length; i++)
			if (kids[i].getName().equalsIgnoreCase(name))
				return kids[i];

		return null;
	}

	public void print()
	{
		PrintWriter pw = new PrintWriter(System.out);
		print(pw);
		pw.flush();
	}

	public void print(PrintWriter pw)
	{
		print(pw, "");
	}

	protected void print(PrintWriter pw, String indent)
	{
		String attr_str = "";
		SimpleXMLParserDocumentAttribute attrs[] = getAttributes();
		for (int i = 0; i < attrs.length; i++)
			attr_str = (new StringBuilder()).append(attr_str).append(i != 0 ? "," : "").append(attrs[i].getName()).append("=").append(attrs[i].getValue()).toString();

		pw.println((new StringBuilder()).append(indent).append(getName()).append(":").append(attr_str).append(" -> ").append(getValue()).toString());
		SimpleXMLParserDocumentNode kids[] = getChildren();
		for (int i = 0; i < kids.length; i++)
			((SimpleXMLParserDocumentNodeImpl)kids[i]).print(pw, (new StringBuilder()).append(indent).append("  ").toString());

	}
}

⌨️ 快捷键说明

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