あなたは、Java XMLライブラリの無数のいずれかを使用して名を抽出することができます。ここでJava DOMからXPathを使用した例です:
private static List<String> findNames(Document doc)
throws XPathExpressionException {
XPath xpath = XPathFactory.newInstance().newXPath();
NodeList nodes = (NodeList) xpath.evaluate("/process/p", doc,
XPathConstants.NODESET);
List<String> names = new ArrayList<String>();
for (int i = 0; i < nodes.getLength(); i++) {
names.add(nodes.item(i).getTextContent());
}
return names;
}
注:それはタイプミスかもしれませんが、あなたのXMLが整形式ではありません - 属性値は引用符で囲む必要があります。そうでない場合、XML解析は失敗します。

あなたが好きな描画するAWT APIを使用することができます。
private static final int BORDER = 1;
private static final int PADDING = 2;
private static final int SPACER = 5;
private static void draw(Graphics2D g, List<String> names) {
FontMetrics metrics = g.getFontMetrics();
Rectangle box = new Rectangle(1, 1, 0, 0);
box.height = metrics.getHeight() + (PADDING * 2);
g.setColor(Color.WHITE);
for (String name : names) {
box.width = metrics.stringWidth(name) + (PADDING * 2);
g.drawString(name, box.x + BORDER + PADDING, PADDING + BORDER +
metrics.getHeight());
g.drawRect(box.x, box.y, box.width, box.height);
box.x += box.width + (BORDER * 2) + SPACER;
}
}
このコードは、ちょうど彼らの周りのいくつかの箱に名前を描画します。私のオフセットはどこにでもあると思いますが、あなたはおそらくそのアイデアを得るでしょう。
いくつかの一般的なデータフォーマットで保存することができますimageio APIがあります:
private static void save(List<String> names, File file) throws IOException {
BufferedImage image = new BufferedImage(600, 50, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
try {
draw(g, names);
} finally {
g.dispose();
}
ImageIO.write(image, "png", file);
}
http://www.graphviz.org/はあなたが喜んで実装するよ何すでに提供しているようです。 – Rekin