Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_20230801
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
alx_20230801
Commits
af7999d6
Commit
af7999d6
authored
Aug 01, 2023
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Przykład wypisywania DOM
parent
c8362784
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
105 additions
and
0 deletions
+105
-0
simple.xml
ObslugaXML/simple.xml
+15
-0
DomSimplePrinter.java
ObslugaXML/src/main/java/przyklady_dom/DomSimplePrinter.java
+49
-0
PrzykladDomBuilder.java
...gaXML/src/main/java/przyklady_dom/PrzykladDomBuilder.java
+41
-0
No files found.
ObslugaXML/simple.xml
0 → 100644
View file @
af7999d6
<dokument>
<osoba
plec=
"K"
>
<imie>
Ala
</imie>
<nazwisko>
Kowalska
</nazwisko>
</osoba>
<osoba
plec=
"K"
>
<imie>
Ola
</imie>
<nazwisko>
Malinowska
</nazwisko>
</osoba>
<osoba
plec=
"M"
>
<imie>
Jan
</imie>
<nazwisko>
Kowalski
</nazwisko>
</osoba>
</dokument>
\ No newline at end of file
ObslugaXML/src/main/java/przyklady_dom/DomSimplePrinter.java
0 → 100644
View file @
af7999d6
package
przyklady_dom
;
import
org.w3c.dom.Node
;
/**Klasa sluzaca do prostego wypisywania informacji o drzewie DOM.
* @author Patryk Czarnik
*
*/
public
class
DomSimplePrinter
{
/**Domyslny konstruktor. */
public
DomSimplePrinter
()
{
super
();
}
/**Przechodzi podane drzewo DOM i wypisuje proste
* informacje o niektorych typach wezlow.
* @param nd wezel, ktorego podrzewo jest wypisywane
*/
public
void
printDomTree
(
Node
nd
)
{
switch
(
nd
.
getNodeType
())
{
case
Node
.
DOCUMENT_NODE
:
System
.
out
.
println
(
"DOKUMENT"
);
printChildren
(
nd
);
break
;
case
Node
.
ELEMENT_NODE
:
System
.
out
.
println
(
"ELEMENT: qName="
+
nd
.
getNodeName
()+
" URI= "
+
nd
.
getNamespaceURI
()+
" localName="
+
nd
.
getLocalName
()+
" attributes:"
+
nd
.
getAttributes
().
getLength
());
printChildren
(
nd
);
break
;
case
Node
.
TEXT_NODE
:
String
napis
=
nd
.
getNodeValue
();
/* obcinam gdyby byl bardzo dlugi */
if
(
napis
.
length
()
>
512
)
napis
=
napis
.
substring
(
0
,
512
);
System
.
out
.
println
(
"TEXT: "
+
napis
);
break
;
}
}
/**Przechodzi dzieci podanego wezla i wywoluje dla nich
* metode printDomTree.
* @param nd wezel, ktorego dzieci przechodzimy
*/
private
void
printChildren
(
Node
nd
)
{
for
(
Node
cur
=
nd
.
getFirstChild
();
cur
!=
null
;
cur
=
cur
.
getNextSibling
())
{
printDomTree
(
cur
);
}
}
}
ObslugaXML/src/main/java/przyklady_dom/PrzykladDomBuilder.java
0 → 100644
View file @
af7999d6
package
przyklady_dom
;
import
javax.xml.parsers.DocumentBuilder
;
import
javax.xml.parsers.DocumentBuilderFactory
;
import
org.w3c.dom.Document
;
/**Przyklad tworzenia drzewa DOM przy uzyciu obiektu DocumentBuilder.
* Program parsuje podany dokument do drzewa DOM,
* a nastepnie wypisuje informacje o dokumencie uzywajac
* obiektu klasy DomSimplePrinter.
* @author Patryk Czarnik
*/
public
class
PrzykladDomBuilder
{
public
static
void
main
(
String
[]
args
)
{
String
plik
=
"simple.xml"
;
try
{
System
.
out
.
println
(
"Pocztek dzialania."
);
/* tworzymy parser DOM */
DocumentBuilderFactory
factory
=
DocumentBuilderFactory
.
newInstance
();
DocumentBuilder
parser
=
factory
.
newDocumentBuilder
();
/* parsujemy dokument, doc bedzie korzeniem drzewa DOM */
System
.
out
.
println
(
"Poczatek parsowania."
);
Document
doc
=
parser
.
parse
(
plik
);
/* wypisujemy informacje o drzewie */
System
.
out
.
println
(
"Poczatek przetwarzania."
);
DomSimplePrinter
simplePrinter
=
new
DomSimplePrinter
();
simplePrinter
.
printDomTree
(
doc
);
System
.
out
.
println
(
"Koniec."
);
}
catch
(
Exception
e
)
{
System
.
err
.
println
(
"Error: "
+
e
.
getMessage
());
e
.
printStackTrace
();
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment